答案 0 :(得分:0)
编译器有时会删除“未使用的标识符”的调试信息。调试信息会迅速变得庞大,因此即使在-O0时,编译器也必须做一些工作以确保它们不会发出比所需更多的信息。定义“需要”比说要困难得多,但是可以肯定的是,它应该保留所有本地变量,让我们保留。
所以在我看来,这是一个值得在swift编译器上提交错误的地方。 swiftc为ny
而不是nx
发出调试信息是特别奇怪的。您稍后会在函数中进一步使用ny
吗?
如果确实要提交错误,请包括一个可构建的.swift文件或显示该错误的项目。