删除转换更改语义

Delete conversion changes semantics

GoLand IDE by JetBrains 提供自动删除冗余类型转换。但是有一个消息:

Delete conversion (changes semantics)

我不明白改变语义是什么意思。它实际上改变了什么?

额外信息:

当表达式是浮动类型时,GoLand 确实显示了可能是冗余类型转换。在所有其他情况下,消息是冗余类型转换。前一条语句中的不确定性与这样一个事实有关,即从 float 到 float 的转换有时用于防止编译器的融合乘加 (FMA) 指令选择以避免舍入错误。详情请参考this issue。不过,我同意 changes semantic 可能过于严格,因为转换结果取决于许多因素。因此,我将措辞更改为 可能会更改语义 。我还更新了检查的描述,因此它包含此信息。这些更改将出现在 GoLand 2020.3 中。