[swift-users] Expression was too complex to be solved in reasonable time

Slava Pestov spestov at apple.com
Tue Oct 24 17:05:56 CDT 2017



> On Oct 24, 2017, at 3:05 PM, Nate Birkholz via swift-users <swift-users at swift.org> wrote:
> 
> Doing a tutorial from RayWenderlich. https://www.raywenderlich.com/125313/make-game-like-candy-crush-spritekit-swift-part-4 <https://www.raywenderlich.com/125313/make-game-like-candy-crush-spritekit-swift-part-4>
> 
> I have four bool values: topLeft, bottomLeft, topRight, and bottomRight
> 
> the following line throws an error: 
> let value = Int(topLeft.hashValue) | Int(topRight.hashValue) << 1 | Int(bottomLeft.hashValue) << 2 | Int(bottomRight.hashValue) << 3

yeah,

let value1 = Int(topRight.hashValue) << 1
let value2 = Int(bottomLeft.hashValue) << 2
let value3 = Int(bottomRight.hashValue) << 3

let value = Int(topLeft.hashValue) | value1 | value2 | value3

> 
> "Expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions."
> 
> This seems like a bug in the compiler, no? Is there actually a way to break that up? 

This is a known issue that got worse with the new integer oriented protocols, especially with shifts.

Slava

> 
> -- 
> Nate Birkholz
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20171024/27982670/attachment.html>


More information about the swift-users mailing list