Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiler Errors on Build #2

Open
Nightsd01 opened this issue Jan 7, 2018 · 1 comment
Open

Compiler Errors on Build #2

Nightsd01 opened this issue Jan 7, 2018 · 1 comment

Comments

@Nightsd01
Copy link

Nightsd01 commented Jan 7, 2018

Thank you for creating this project, I would love to try it out but I've been unable to compile it for use in my own project.

I'm not very familiar with swift package manager so I may be doing something wrong, but whenever I run swift build I get the following errors.

It seems to me that it's a swift version issue. Is there any way I can compile cuda-swift and use it as a Swift 3.2 framework in a Swift 4.0 project?

warning: error while trying to use pkgConfig flags for CCUDA: couldNotFindConfigFile
Compile Swift Module 'Warp' (9 sources)
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:156: warning: redundant same-type constraint 'ArrayBuffer.Index' == 'Int'
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                                                                                                                                                           ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:23: note: same-type constraint 'ArrayBuffer.Index' == 'Int' inferred from type here
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                      ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:61:116: warning: redundant same-type constraint 'Buffer.Index' == 'Int'
        (viewing arrayBuffer: Buffer, offsetBy offset: Buffer.Index) where Buffer.Element == Element, Buffer.Index == Int
                                                                                                                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:60:18: note: same-type constraint 'Buffer.Index' == 'Int' inferred from type here
    init<Buffer: DeviceArrayBufferProtocol>
                 ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:12:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:13:15: warning: typealias overriding associated type 'Indices' from protocol 'RandomAccessCollection' is better expressed as same-type constraint on the protocol
    typealias Indices = CountableRange<Int>
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:27:20: note: 'Indices' declared here
    associatedtype Indices : _RandomAccessIndexable, BidirectionalCollection = DefaultRandomAccessIndices<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:27: warning: redundant conformance constraint 'Self': 'Equatable'
protocol SourceHashable : Equatable, Hashable {
                          ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:38: note: conformance constraint 'Self': 'Equatable' implied here
protocol SourceHashable : Equatable, Hashable {
                                     ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:27:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:28:15: warning: typealias overriding associated type 'IndexDistance' from protocol '_Indexable' is better expressed as same-type constraint on the protocol
    typealias IndexDistance = Int
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
    
Swift._Indexable:7:20: note: 'IndexDistance' declared here
    associatedtype IndexDistance : SignedInteger = Int
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:29:20: warning: redeclaration of associated type 'Element' from protocol '_IndexableBase' is better expressed as a 'where' clause on the protocol
    associatedtype Element
    ~~~~~~~~~~~~~~~^~~~~~~
    
Swift._IndexableBase:28:20: note: 'Element' declared here
    associatedtype Element
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:30:20: warning: redeclaration of associated type 'SubSequence' from protocol 'RandomAccessCollection' is better expressed as a 'where' clause on the protocol
    associatedtype SubSequence : RandomAccessCollection
    ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:24:20: note: 'SubSequence' declared here
    associatedtype SubSequence : _RandomAccessIndexable, BidirectionalCollection = RandomAccessSlice<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:28:49: warning: redundant same-type constraint 'Self.Index' == 'Int'
extension DeviceArrayBufferProtocol where Index == Int {
                                                ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:27: warning: redundant conformance constraint 'Self': 'Equatable'
protocol SourceHashable : Equatable, Hashable {
                          ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:38: note: conformance constraint 'Self': 'Equatable' implied here
protocol SourceHashable : Equatable, Hashable {
                                     ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:61:116: warning: redundant same-type constraint 'Buffer.Index' == 'Int'
        (viewing arrayBuffer: Buffer, offsetBy offset: Buffer.Index) where Buffer.Element == Element, Buffer.Index == Int
                                                                                                                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:60:18: note: same-type constraint 'Buffer.Index' == 'Int' inferred from type here
    init<Buffer: DeviceArrayBufferProtocol>
                 ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:156: warning: redundant same-type constraint 'ArrayBuffer.Index' == 'Int'
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                                                                                                                                                           ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:23: note: same-type constraint 'ArrayBuffer.Index' == 'Int' inferred from type here
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                      ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:27:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:28:15: warning: typealias overriding associated type 'IndexDistance' from protocol '_Indexable' is better expressed as same-type constraint on the protocol
    typealias IndexDistance = Int
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
    
Swift._Indexable:7:20: note: 'IndexDistance' declared here
    associatedtype IndexDistance : SignedInteger = Int
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:29:20: warning: redeclaration of associated type 'Element' from protocol '_IndexableBase' is better expressed as a 'where' clause on the protocol
    associatedtype Element
    ~~~~~~~~~~~~~~~^~~~~~~
    
Swift._IndexableBase:28:20: note: 'Element' declared here
    associatedtype Element
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:30:20: warning: redeclaration of associated type 'SubSequence' from protocol 'RandomAccessCollection' is better expressed as a 'where' clause on the protocol
    associatedtype SubSequence : RandomAccessCollection
    ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:24:20: note: 'SubSequence' declared here
    associatedtype SubSequence : _RandomAccessIndexable, BidirectionalCollection = RandomAccessSlice<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:12:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:13:15: warning: typealias overriding associated type 'Indices' from protocol 'RandomAccessCollection' is better expressed as same-type constraint on the protocol
    typealias Indices = CountableRange<Int>
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:27:20: note: 'Indices' declared here
    associatedtype Indices : _RandomAccessIndexable, BidirectionalCollection = DefaultRandomAccessIndices<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:28:49: warning: redundant same-type constraint 'Self.Index' == 'Int'
extension DeviceArrayBufferProtocol where Index == Int {
                                                ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:27:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:28:15: warning: typealias overriding associated type 'IndexDistance' from protocol '_Indexable' is better expressed as same-type constraint on the protocol
    typealias IndexDistance = Int
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
    
Swift._Indexable:7:20: note: 'IndexDistance' declared here
    associatedtype IndexDistance : SignedInteger = Int
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:29:20: warning: redeclaration of associated type 'Element' from protocol '_IndexableBase' is better expressed as a 'where' clause on the protocol
    associatedtype Element
    ~~~~~~~~~~~~~~~^~~~~~~
    
Swift._IndexableBase:28:20: note: 'Element' declared here
    associatedtype Element
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:30:20: warning: redeclaration of associated type 'SubSequence' from protocol 'RandomAccessCollection' is better expressed as a 'where' clause on the protocol
    associatedtype SubSequence : RandomAccessCollection
    ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:24:20: note: 'SubSequence' declared here
    associatedtype SubSequence : _RandomAccessIndexable, BidirectionalCollection = RandomAccessSlice<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:61:116: warning: redundant same-type constraint 'Buffer.Index' == 'Int'
        (viewing arrayBuffer: Buffer, offsetBy offset: Buffer.Index) where Buffer.Element == Element, Buffer.Index == Int
                                                                                                                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:60:18: note: same-type constraint 'Buffer.Index' == 'Int' inferred from type here
    init<Buffer: DeviceArrayBufferProtocol>
                 ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:156: warning: redundant same-type constraint 'ArrayBuffer.Index' == 'Int'
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                                                                                                                                                           ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:23: note: same-type constraint 'ArrayBuffer.Index' == 'Int' inferred from type here
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                      ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:27: warning: redundant conformance constraint 'Self': 'Equatable'
protocol SourceHashable : Equatable, Hashable {
                          ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:38: note: conformance constraint 'Self': 'Equatable' implied here
protocol SourceHashable : Equatable, Hashable {
                                     ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:12:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:13:15: warning: typealias overriding associated type 'Indices' from protocol 'RandomAccessCollection' is better expressed as same-type constraint on the protocol
    typealias Indices = CountableRange<Int>
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:27:20: note: 'Indices' declared here
    associatedtype Indices : _RandomAccessIndexable, BidirectionalCollection = DefaultRandomAccessIndices<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:28:49: warning: redundant same-type constraint 'Self.Index' == 'Int'
extension DeviceArrayBufferProtocol where Index == Int {
                                                ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:12:5: warning: redundant conformance constraint 'Self': 'DeviceAddressable'
    DeviceAddressable, MutableDeviceCollection, ExpressibleByArrayLiteral
    ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:12:24: note: conformance constraint 'Self': 'DeviceAddressable' implied here
    DeviceAddressable, MutableDeviceCollection, ExpressibleByArrayLiteral
                       ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:27:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:28:15: warning: typealias overriding associated type 'IndexDistance' from protocol '_Indexable' is better expressed as same-type constraint on the protocol
    typealias IndexDistance = Int
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
    
Swift._Indexable:7:20: note: 'IndexDistance' declared here
    associatedtype IndexDistance : SignedInteger = Int
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:29:20: warning: redeclaration of associated type 'Element' from protocol '_IndexableBase' is better expressed as a 'where' clause on the protocol
    associatedtype Element
    ~~~~~~~~~~~~~~~^~~~~~~
    
Swift._IndexableBase:28:20: note: 'Element' declared here
    associatedtype Element
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:30:20: warning: redeclaration of associated type 'SubSequence' from protocol 'RandomAccessCollection' is better expressed as a 'where' clause on the protocol
    associatedtype SubSequence : RandomAccessCollection
    ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:24:20: note: 'SubSequence' declared here
    associatedtype SubSequence : _RandomAccessIndexable, BidirectionalCollection = RandomAccessSlice<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:12:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:13:15: warning: typealias overriding associated type 'Indices' from protocol 'RandomAccessCollection' is better expressed as same-type constraint on the protocol
    typealias Indices = CountableRange<Int>
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:27:20: note: 'Indices' declared here
    associatedtype Indices : _RandomAccessIndexable, BidirectionalCollection = DefaultRandomAccessIndices<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:24:15: error: type 'DeviceArray<Element>' does not conform to protocol 'DeviceCollection'
public struct DeviceArray<Element> : MutableDeviceCollection, DeviceArrayProtocol {
              ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:115:16: note: candidate has non-matching type '[Element]' [with Element = DeviceValue<Element>]
    public var hostArray: [Element] {
               ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:24:15: error: type 'DeviceArray<Element>' does not conform to protocol 'MutableDeviceAddressable'
public struct DeviceArray<Element> : MutableDeviceCollection, DeviceArrayProtocol {
              ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:202:26: note: candidate has non-matching type '<Element, Result> ((inout UnsafeMutableDevicePointer<Element>) throws -> Result) throws -> Result'
    public mutating func withUnsafeMutableDevicePointer<Result>
                         ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:223:16: note: candidate has non-matching type 'UnsafeMutableDevicePointer<Element>'
    public var unsafeMutableDevicePointer: UnsafeMutableDevicePointer<Element> {
               ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:24:15: error: type 'DeviceArray<Element>' does not conform to protocol 'DeviceAddressable'
public struct DeviceArray<Element> : MutableDeviceCollection, DeviceArrayProtocol {
              ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:214:17: note: candidate has non-matching type '<Element, Result> ((UnsafeDevicePointer<Element>) throws -> Result) throws -> Result' [with Element = DeviceValue<Element>]
    public func withUnsafeDevicePointer<Result>
                ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:233:16: note: candidate has non-matching type 'UnsafeDevicePointer<Element>' [with Element = DeviceValue<Element>]
    public var unsafeDevicePointer: UnsafeDevicePointer<Element> {
               ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:31:9: note: protocol requires property 'hostArray' with type '[DeviceArray<Element>.Element]'; do you want to add a stub?
    var hostArray: [Element] { get }
        ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:21:19: note: protocol requires function 'withUnsafeMutableDevicePointer' with type '<Result> ((inout UnsafeMutableDevicePointer<DeviceValue<Element>>) throws -> Result) throws -> Result'; do you want to add a stub?
    mutating func withUnsafeMutableDevicePointer<Result>
                  ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:23:9: note: protocol requires property 'unsafeMutableDevicePointer' with type 'UnsafeMutableDevicePointer<DeviceValue<Element>>'; do you want to add a stub?
    var unsafeMutableDevicePointer: UnsafeMutableDevicePointer<Element> { mutating get }
        ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:15:10: note: protocol requires function 'withUnsafeDevicePointer' with type '<Result> ((UnsafeDevicePointer<DeviceValue<Element>>) throws -> Result) throws -> Result'; do you want to add a stub?
    func withUnsafeDevicePointer<Result>
         ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:17:9: note: protocol requires property 'unsafeDevicePointer' with type 'UnsafeDevicePointer<DeviceValue<Element>>'; do you want to add a stub?
    var unsafeDevicePointer: UnsafeDevicePointer<Element> { get }
        ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:28:49: warning: redundant same-type constraint 'Self.Index' == 'Int'
extension DeviceArrayBufferProtocol where Index == Int {
                                                ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:36:44: error: cannot convert value of type 'DeviceArrayBuffer<Element>' to expected argument type 'DeviceArrayBuffer<DeviceValueBuffer<_>>'
                buffer = DeviceArrayBuffer(buffer)
                                          ~^~~~~~~
                                                   as! (DeviceArrayBuffer<DeviceValueBuffer<_>>)
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:120:40: error: cannot convert value of type 'UnsafeMutableDevicePointer<DeviceValueBuffer<Element>>' to expected argument type 'UnsafeMutableDevicePointer<_>'
        temp.assign(fromDevice: buffer.startAddress, count: count)
                                ~~~~~~~^~~~~~~~~~~~
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:123:16: error: cannot convert return expression of type '[DeviceValue<Element>]' to return type '[Element]'
        return elements
               ^~~~~~~~
                        as! [Element]
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:225:35: error: cannot convert return expression of type 'UnsafeMutableDevicePointer<DeviceValueBuffer<Element>>' to return type 'UnsafeMutableDevicePointer<Element>'
            return mutatingBuffer.startAddress
                   ~~~~~~~~~~~~~~~^~~~~~~~~~~~
                                               as! UnsafeMutableDevicePointer<Element>
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:234:16: error: cannot convert return expression of type 'UnsafeDevicePointer<DeviceValueBuffer<Element>>' to return type 'UnsafeDevicePointer<Element>'
        return UnsafeDevicePointer(buffer.startAddress)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                        as! UnsafeDevicePointer<Element>
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:81:47: error: cannot convert value of type 'Element' to expected argument type 'DeviceValueBuffer<_>'
        buffer = DeviceArrayBuffer(repeating: element, count: count, device: Device.current)
                                              ^~~~~~~
                                                      as! DeviceValueBuffer<_>
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:85:47: error: cannot convert value of type 'Element' to expected argument type 'DeviceValueBuffer<_>'
        buffer = DeviceArrayBuffer(repeating: element, count: count, device: device)
                                              ^~~~~~~
                                                      as! DeviceValueBuffer<_>
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:91:18: error: generic parameter 'C' could not be inferred
        buffer = DeviceArrayBuffer(elements, device: Device.current)
                 ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:97:18: error: generic parameter 'C' could not be inferred
        buffer = DeviceArrayBuffer(elements, device: device)
                 ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:101:18: error: generic parameter 'Element' could not be inferred
        buffer = DeviceArrayBuffer(elements, device: Device.current)
                 ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:61:13: note: 'Element' declared as parameter to type 'DeviceArrayBuffer'
final class DeviceArrayBuffer<Element> : DeviceArrayBufferProtocol {
            ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:101:18: note: explicitly specify the generic arguments to fix this issue
        buffer = DeviceArrayBuffer(elements, device: Device.current)
                 ^
                                  <Any>
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:108:42: error: cannot convert value of type 'DeviceArrayBuffer<Element>' to expected argument type 'DeviceArrayBuffer<DeviceValueBuffer<_>>'
        buffer = DeviceArrayBuffer(other.buffer)
                                  ~~~~~~~^~~~~~~
                                                 as! (DeviceArrayBuffer<DeviceValueBuffer<_>>)
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:112:50: error: cannot convert value of type 'DeviceArrayBuffer<Element>' to expected argument type 'DeviceArrayBuffer<DeviceValueBuffer<_>>'
        self.buffer = DeviceArrayBuffer(viewing: buffer, in: range)
                                                 ^~~~~~
                                                        as! DeviceArrayBuffer<DeviceValueBuffer<_>>
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:159:92: error: cannot convert value of type 'DeviceArrayBuffer<Element>' to expected argument type 'DeviceArrayBuffer<DeviceValueBuffer<_>>'
        mutatingBuffer.replaceSubrange(bufferRange(fromLocal: subrange), with: newElements.buffer)
                                                                               ~~~~~~~~~~~~^~~~~~
                                                                                                  as! DeviceArrayBuffer<DeviceValueBuffer<_>>
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:164:84: error: 'map' produces '[T]', not the expected contextual result type 'DeviceArrayBuffer<DeviceValueBuffer<_>>'
        buffer.replaceSubrange(bufferRange(fromLocal: subrange), with: newElements.map{$0.buffer})
                                                                                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:61:116: warning: redundant same-type constraint 'Buffer.Index' == 'Int'
        (viewing arrayBuffer: Buffer, offsetBy offset: Buffer.Index) where Buffer.Element == Element, Buffer.Index == Int
                                                                                                                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:60:18: note: same-type constraint 'Buffer.Indices.Element' == 'Int' implied here
    init<Buffer: DeviceArrayBufferProtocol>
                 ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:156: warning: redundant same-type constraint 'ArrayBuffer.Index' == 'Int'
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                                                                                                                                                           ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:23: note: same-type constraint 'ArrayBuffer.Indices.Element' == 'Int' implied here
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                      ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:169:20: error: cannot convert return expression of type 'DeviceValue<DeviceValueBuffer<Element>>' to return type 'DeviceValue<Element>'
            return DeviceValue(buffer: DeviceValueBuffer(viewing: buffer, offsetBy: i))
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                                        as! DeviceValue<Element>
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:205:25: error: cannot pass immutable value of type 'inout UnsafeMutableDevicePointer<DeviceValueBuffer<Element>>' as inout argument
        return try body(&startAddress)
                        ^~~~~~~~~~~~~
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:216:52: error: cannot convert value of type 'UnsafeMutableDevicePointer<DeviceValueBuffer<Element>>' to expected argument type 'UnsafeMutableDevicePointer<_>'
        return try body(UnsafeDevicePointer(buffer.startAddress))
                                           ~~~~~~~~^~~~~~~~~~~~~
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:61:13: error: type 'DeviceArrayBuffer<Element>' does not conform to protocol 'DeviceArrayBufferProtocol'
final class DeviceArrayBuffer<Element> : DeviceArrayBufferProtocol {
            ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:110:5: note: candidate has non-matching type '(viewing: DeviceArrayBuffer<DeviceArrayBuffer.Element>, in: Range<Int>)'
    init(viewing other: DeviceArrayBuffer<Element>, in range: Range<Int>) {
    ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:61:13: error: type 'DeviceArrayBuffer<Element>' does not conform to protocol 'DeviceBufferProtocol'
final class DeviceArrayBuffer<Element> : DeviceArrayBufferProtocol {
            ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:99:5: note: candidate has non-matching type '(viewing: DeviceArrayBuffer<DeviceArrayBuffer.Element>)' [with Element = DeviceValueBuffer<Element>]
    init(viewing other: DeviceArrayBuffer<Element>) {
    ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:12:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:13:15: warning: typealias overriding associated type 'Indices' from protocol 'RandomAccessCollection' is better expressed as same-type constraint on the protocol
    typealias Indices = CountableRange<Int>
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:27:20: note: 'Indices' declared here
    associatedtype Indices : _RandomAccessIndexable, BidirectionalCollection = DefaultRandomAccessIndices<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:28:49: warning: redundant same-type constraint 'Self.Index' == 'Int'
extension DeviceArrayBufferProtocol where Index == Int {
                                                ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:61:13: error: type 'DeviceArrayBuffer<Element>' does not conform to protocol 'DeviceBufferProtocol'
final class DeviceArrayBuffer<Element> : DeviceArrayBufferProtocol {
            ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:66:9: note: candidate has non-matching type 'UnsafeMutableDevicePointer<Element>' [with Element = DeviceValueBuffer<Element>]
    var baseAddress: UnsafeMutableDevicePointer<Element>
        ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:61:13: error: type 'DeviceArrayBuffer<Element>' does not conform to protocol 'DeviceArrayBufferProtocol'
final class DeviceArrayBuffer<Element> : DeviceArrayBufferProtocol {
            ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:66:9: note: candidate has non-matching type 'UnsafeMutableDevicePointer<Element>'
    var baseAddress: UnsafeMutableDevicePointer<Element>
        ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:15:9: note: protocol requires property 'baseAddress' with type 'UnsafeMutableDevicePointer<DeviceArrayBuffer<Element>.Element>'; do you want to add a stub?
    var baseAddress: UnsafeMutableDevicePointer<Element> { get }
        ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:15:9: note: protocol requires property 'baseAddress' with type 'UnsafeMutableDevicePointer<DeviceArrayBuffer<Element>.Element>'; do you want to add a stub?
    var baseAddress: UnsafeMutableDevicePointer<Element> { get }
        ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:77:59: error: cannot assign value of type 'UnsafeMutableDevicePointer<DeviceValueBuffer<Element>>' to type 'UnsafeMutableDevicePointer<_>'
        baseAddress = UnsafeMutableDevicePointer<Element>.allocate(capacity: capacity)
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:129:61: error: '[Element]' is not convertible to '[DeviceValueBuffer<Element>]'
        lifetimeKeeper = LifetimeKeeper<[Element]>(keeping: elements)
                                                            ^~~~~~~~
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:140:40: error: cannot convert value of type 'UnsafeMutableDevicePointer<DeviceValueBuffer<Element>>' to expected argument type 'UnsafeMutableDevicePointer<_>'
        baseAddress.assign(from: other.startAddress, count: other.count)
                                 ~~~~~~^~~~~~~~~~~~
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:170:39: error: cannot convert value of type 'UnsafeMutableDevicePointer<DeviceValueBuffer<Element>>' to expected argument type 'UnsafeMutableDevicePointer<_>'
            .assign(from: newElements.startAddress,
                          ~~~~~~~~~~~~^~~~~~~~~~~~
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:61:116: warning: redundant same-type constraint 'Buffer.Index' == 'Int'
        (viewing arrayBuffer: Buffer, offsetBy offset: Buffer.Index) where Buffer.Element == Element, Buffer.Index == Int
                                                                                                                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:60:18: note: same-type constraint 'Buffer.Indices.Element' == 'Int' implied here
    init<Buffer: DeviceArrayBufferProtocol>
                 ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:156: warning: redundant same-type constraint 'ArrayBuffer.Index' == 'Int'
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                                                                                                                                                           ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:23: note: same-type constraint 'ArrayBuffer.Indices.Element' == 'Int' implied here
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                      ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:190:20: error: cannot convert return expression of type 'DeviceValueBuffer<DeviceValueBuffer<Element>>' to return type 'DeviceValueBuffer<Element>'
            return DeviceValueBuffer(viewing: self, offsetBy: i)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                 as! DeviceValueBuffer<Element>
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:27: warning: redundant conformance constraint 'Self': 'Equatable'
protocol SourceHashable : Equatable, Hashable {
                          ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:38: note: conformance constraint 'Self': 'Equatable' implied here
protocol SourceHashable : Equatable, Hashable {
                                     ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:61:116: warning: redundant same-type constraint 'Buffer.Index' == 'Int'
        (viewing arrayBuffer: Buffer, offsetBy offset: Buffer.Index) where Buffer.Element == Element, Buffer.Index == Int
                                                                                                                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:60:18: note: same-type constraint 'Buffer.Index' == 'Int' inferred from type here
    init<Buffer: DeviceArrayBufferProtocol>
                 ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:156: warning: redundant same-type constraint 'ArrayBuffer.Index' == 'Int'
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                                                                                                                                                           ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:23: note: same-type constraint 'ArrayBuffer.Index' == 'Int' inferred from type here
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                      ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:12:5: warning: redundant conformance constraint 'Self': 'DeviceAddressable'
    DeviceAddressable, MutableDeviceCollection, ExpressibleByArrayLiteral
    ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/Array.swift:12:24: note: conformance constraint 'Self': 'DeviceAddressable' implied here
    DeviceAddressable, MutableDeviceCollection, ExpressibleByArrayLiteral
                       ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:27:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:28:15: warning: typealias overriding associated type 'IndexDistance' from protocol '_Indexable' is better expressed as same-type constraint on the protocol
    typealias IndexDistance = Int
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
    
Swift._Indexable:7:20: note: 'IndexDistance' declared here
    associatedtype IndexDistance : SignedInteger = Int
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:29:20: warning: redeclaration of associated type 'Element' from protocol '_IndexableBase' is better expressed as a 'where' clause on the protocol
    associatedtype Element
    ~~~~~~~~~~~~~~~^~~~~~~
    
Swift._IndexableBase:28:20: note: 'Element' declared here
    associatedtype Element
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:30:20: warning: redeclaration of associated type 'SubSequence' from protocol 'RandomAccessCollection' is better expressed as a 'where' clause on the protocol
    associatedtype SubSequence : RandomAccessCollection
    ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:24:20: note: 'SubSequence' declared here
    associatedtype SubSequence : _RandomAccessIndexable, BidirectionalCollection = RandomAccessSlice<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:12:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:13:15: warning: typealias overriding associated type 'Indices' from protocol 'RandomAccessCollection' is better expressed as same-type constraint on the protocol
    typealias Indices = CountableRange<Int>
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:27:20: note: 'Indices' declared here
    associatedtype Indices : _RandomAccessIndexable, BidirectionalCollection = DefaultRandomAccessIndices<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:28:49: warning: redundant same-type constraint 'Self.Index' == 'Int'
extension DeviceArrayBufferProtocol where Index == Int {
                                                ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:27:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:28:15: warning: typealias overriding associated type 'IndexDistance' from protocol '_Indexable' is better expressed as same-type constraint on the protocol
    typealias IndexDistance = Int
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
    
Swift._Indexable:7:20: note: 'IndexDistance' declared here
    associatedtype IndexDistance : SignedInteger = Int
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:29:20: warning: redeclaration of associated type 'Element' from protocol '_IndexableBase' is better expressed as a 'where' clause on the protocol
    associatedtype Element
    ~~~~~~~~~~~~~~~^~~~~~~
    
Swift._IndexableBase:28:20: note: 'Element' declared here
    associatedtype Element
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:30:20: warning: redeclaration of associated type 'SubSequence' from protocol 'RandomAccessCollection' is better expressed as a 'where' clause on the protocol
    associatedtype SubSequence : RandomAccessCollection
    ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:24:20: note: 'SubSequence' declared here
    associatedtype SubSequence : _RandomAccessIndexable, BidirectionalCollection = RandomAccessSlice<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/CollectionOperations.swift:74:113: warning: redundant same-type constraint 'Self.IndexDistance' == 'Int'
public extension DeviceCollection where Element : BLASDataProtocol & FloatingPoint, Index == Int, IndexDistance == Int {
                                                                                                                ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/CollectionOperations.swift:74:91: warning: redundant same-type constraint 'Self.Index' == 'Int'
public extension DeviceCollection where Element : BLASDataProtocol & FloatingPoint, Index == Int, IndexDistance == Int {
                                                                                          ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/CollectionOperations.swift:91:106: warning: redundant same-type constraint 'Self.IndexDistance' == 'Int'
public extension MutableDeviceCollection where Element : KernelDataProtocol, Index == Int, IndexDistance == Int {
                                                                                                         ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/CollectionOperations.swift:91:84: warning: redundant same-type constraint 'Self.Index' == 'Int'
public extension MutableDeviceCollection where Element : KernelDataProtocol, Index == Int, IndexDistance == Int {
                                                                                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/CollectionOperations.swift:324:122: warning: redundant same-type constraint 'Self.IndexDistance' == 'Int'
public extension MutableDeviceCollection where Element : KernelDataProtocol & FloatingPoint, Index == Int, IndexDistance == Int {
                                                                                                                         ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/CollectionOperations.swift:324:100: warning: redundant same-type constraint 'Self.Index' == 'Int'
public extension MutableDeviceCollection where Element : KernelDataProtocol & FloatingPoint, Index == Int, IndexDistance == Int {
                                                                                                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:27: warning: redundant conformance constraint 'Self': 'Equatable'
protocol SourceHashable : Equatable, Hashable {
                          ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:38: note: conformance constraint 'Self': 'Equatable' implied here
protocol SourceHashable : Equatable, Hashable {
                                     ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:61:116: warning: redundant same-type constraint 'Buffer.Index' == 'Int'
        (viewing arrayBuffer: Buffer, offsetBy offset: Buffer.Index) where Buffer.Element == Element, Buffer.Index == Int
                                                                                                                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:60:18: note: same-type constraint 'Buffer.Index' == 'Int' inferred from type here
    init<Buffer: DeviceArrayBufferProtocol>
                 ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:156: warning: redundant same-type constraint 'ArrayBuffer.Index' == 'Int'
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                                                                                                                                                           ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:23: note: same-type constraint 'ArrayBuffer.Index' == 'Int' inferred from type here
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                      ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:12:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:13:15: warning: typealias overriding associated type 'Indices' from protocol 'RandomAccessCollection' is better expressed as same-type constraint on the protocol
    typealias Indices = CountableRange<Int>
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:27:20: note: 'Indices' declared here
    associatedtype Indices : _RandomAccessIndexable, BidirectionalCollection = DefaultRandomAccessIndices<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:28:49: warning: redundant same-type constraint 'Self.Index' == 'Int'
extension DeviceArrayBufferProtocol where Index == Int {
                                                ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:27:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:28:15: warning: typealias overriding associated type 'IndexDistance' from protocol '_Indexable' is better expressed as same-type constraint on the protocol
    typealias IndexDistance = Int
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
    
Swift._Indexable:7:20: note: 'IndexDistance' declared here
    associatedtype IndexDistance : SignedInteger = Int
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:29:20: warning: redeclaration of associated type 'Element' from protocol '_IndexableBase' is better expressed as a 'where' clause on the protocol
    associatedtype Element
    ~~~~~~~~~~~~~~~^~~~~~~
    
Swift._IndexableBase:28:20: note: 'Element' declared here
    associatedtype Element
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:30:20: warning: redeclaration of associated type 'SubSequence' from protocol 'RandomAccessCollection' is better expressed as a 'where' clause on the protocol
    associatedtype SubSequence : RandomAccessCollection
    ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:24:20: note: 'SubSequence' declared here
    associatedtype SubSequence : _RandomAccessIndexable, BidirectionalCollection = RandomAccessSlice<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:61:116: warning: redundant same-type constraint 'Buffer.Index' == 'Int'
        (viewing arrayBuffer: Buffer, offsetBy offset: Buffer.Index) where Buffer.Element == Element, Buffer.Index == Int
                                                                                                                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:60:18: note: same-type constraint 'Buffer.Index' == 'Int' inferred from type here
    init<Buffer: DeviceArrayBufferProtocol>
                 ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:156: warning: redundant same-type constraint 'ArrayBuffer.Index' == 'Int'
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                                                                                                                                                           ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:23: note: same-type constraint 'ArrayBuffer.Index' == 'Int' inferred from type here
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                      ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:27: warning: redundant conformance constraint 'Self': 'Equatable'
protocol SourceHashable : Equatable, Hashable {
                          ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:38: note: conformance constraint 'Self': 'Equatable' implied here
protocol SourceHashable : Equatable, Hashable {
                                     ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:12:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:13:15: warning: typealias overriding associated type 'Indices' from protocol 'RandomAccessCollection' is better expressed as same-type constraint on the protocol
    typealias Indices = CountableRange<Int>
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:27:20: note: 'Indices' declared here
    associatedtype Indices : _RandomAccessIndexable, BidirectionalCollection = DefaultRandomAccessIndices<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:28:49: warning: redundant same-type constraint 'Self.Index' == 'Int'
extension DeviceArrayBufferProtocol where Index == Int {
                                                ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:61:116: warning: redundant same-type constraint 'Buffer.Index' == 'Int'
        (viewing arrayBuffer: Buffer, offsetBy offset: Buffer.Index) where Buffer.Element == Element, Buffer.Index == Int
                                                                                                                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:60:18: note: same-type constraint 'Buffer.Index' == 'Int' inferred from type here
    init<Buffer: DeviceArrayBufferProtocol>
                 ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:156: warning: redundant same-type constraint 'ArrayBuffer.Index' == 'Int'
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                                                                                                                                                           ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ValueBuffer.swift:22:23: note: same-type constraint 'ArrayBuffer.Index' == 'Int' inferred from type here
    init<ArrayBuffer: DeviceArrayBufferProtocol>(viewing other: ArrayBuffer, offsetBy offset: Int) where ArrayBuffer.Element == Element, ArrayBuffer.Index == Int
                      ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:27: warning: redundant conformance constraint 'Self': 'Equatable'
protocol SourceHashable : Equatable, Hashable {
                          ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/KernelSources.swift:15:38: note: conformance constraint 'Self': 'Equatable' implied here
protocol SourceHashable : Equatable, Hashable {
                                     ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:27:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:28:15: warning: typealias overriding associated type 'IndexDistance' from protocol '_Indexable' is better expressed as same-type constraint on the protocol
    typealias IndexDistance = Int
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
    
Swift._Indexable:7:20: note: 'IndexDistance' declared here
    associatedtype IndexDistance : SignedInteger = Int
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:29:20: warning: redeclaration of associated type 'Element' from protocol '_IndexableBase' is better expressed as a 'where' clause on the protocol
    associatedtype Element
    ~~~~~~~~~~~~~~~^~~~~~~
    
Swift._IndexableBase:28:20: note: 'Element' declared here
    associatedtype Element
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/DeviceTypes.swift:30:20: warning: redeclaration of associated type 'SubSequence' from protocol 'RandomAccessCollection' is better expressed as a 'where' clause on the protocol
    associatedtype SubSequence : RandomAccessCollection
    ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:24:20: note: 'SubSequence' declared here
    associatedtype SubSequence : _RandomAccessIndexable, BidirectionalCollection = RandomAccessSlice<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:12:15: warning: typealias overriding associated type 'Index' from protocol '_IndexableBase' is better expressed as same-type constraint on the protocol
    typealias Index = Int
    ~~~~~~~~~~^~~~~~~~~~~
    
Swift._IndexableBase:7:20: note: 'Index' declared here
    associatedtype Index : Comparable
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:13:15: warning: typealias overriding associated type 'Indices' from protocol 'RandomAccessCollection' is better expressed as same-type constraint on the protocol
    typealias Indices = CountableRange<Int>
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
Swift.RandomAccessCollection:27:20: note: 'Indices' declared here
    associatedtype Indices : _RandomAccessIndexable, BidirectionalCollection = DefaultRandomAccessIndices<Self>
                   ^
/Users/bradhesse/Downloads/cuda-swift-1.5.0/Sources/Warp/ArrayBuffer.swift:28:49: warning: redundant same-type constraint 'Self.Index' == 'Int'
extension DeviceArrayBufferProtocol where Index == Int {
                                                ^
error: terminated(1): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-build-tool -f /Users/bradhesse/Downloads/cuda-swift-1.5.0/.build/debug.yaml main
@rxwei
Copy link
Owner

rxwei commented Jan 7, 2018

This is a Swift 3.1 project. Migration to Swift 4 is necessary and can be a lot of work. Contributions are welcome!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants