使用 pow() 时没有 i32/f64 回退

No i32/f64 fallback when using pow()

具有以下内容:

4.pow(2)

我得到:

error: no method named `pow` found for type `_` in the current scope

我必须更明确一点,例如:

4_i32.pow(2)

对于浮点数,我遇到了类似的问题(和解决方案),其中:

4.0.powf(2.0)

也必须明确:

4.0_f64.powf(2.0)

我认为这是因为仅当考虑了对文字的所有约束时才会发生回退(并且发现 没有 任何约束)。

在这种情况下,要知道 4 的类型是什么,就必须知道 pow 是什么。但是 pow 是为每个整数类型单独定义的。所以要知道 pow 你在说什么,它必须知道 4 的类型是什么。但是要知道4的类型是什么……等等。