Skip to content

Compiler Errors on Build #2

@Nightsd01

Description

@Nightsd01

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions