详解Swift的类型检查器
这篇文章将围绕曾不断使我重写代码的一些 Swift 编译器的报错信息展开:
错误:你的表达式太过于复杂,请将其分解为一些更为简单的表达式。(译者注:原文是
error: expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions)
我会看那个触发错误的例子,谈谈以后由相同底层问题引起以外的编译错误的负面影响。我将会带领你看看在编译过程中发生了什么,然后告诉你,怎样在短时间内去解决这些报错。
我将为编译器设计一种时间复杂度为线性算法来代替原本的指数算法来彻底的解决这个问题,而不需要采用其余更复杂的方法。