Closed SuperGeroy closed 5 years ago
As long as bitboard uses UInt64 as raw value asliasing for that is ok. Anyway it seems as a lot of code just delegating binary operations to raw value and recreating bitboard again (will it be slow?)
I found the solution:
Sage does neither need the FixedWidthInteger
nor the BinaryInteger
protocol to run with Swift 4.2. It now works on my machine with XCode 10.2.1. I will upload the solution soon.
The
Bitboard
struct uses the deprecatedBitwiseOperations
protocol (see line 562 of Bitboard.swift). As support for Swift 3 will be removed in XCode 10.2 I need some help in replacing the protocol. XCode suggests using theFixedWidthInteger
protocol instead but I think we only need theBinaryInteger
protocol.For this to work, we need to implement typealiases for
Words
andMagnitude
and here I am struggling at the moment. I will try to find the solution for Sage to continue to work with XCode 10.2 and Swift 4. Requirement for typealiasMagnitude
comes from protocolNumeric
. (Currently, I tend to useUInt64
as typealias.)