Xcode中的NSNumber(value :)的行为与Open Source Swift Distribution相比

构造一个值为UInt8.maxNSNumber在Xcode 8中产生的结果与在Linux上使用Swift 3.0的开源版本不同。

Xcode 8:

 print(NSNumber(value: UInt8.max)) // 255 (__NSCFNumber = Int16(255)) 

Linux上的Swift 3.0:

 print(NSNumber(value: UInt8.max)) // -1 

在线试用。

这是故意的吗? 我预计这两个Swift分布上的值都等于255。

正如Martin在评论中写道的,这似乎是Swift解释器SR-90的一个缺陷