请考虑以下代码:
fn main() {
let i = f32::consts::PI;
}
出现以下错误:
$ rustc --version
rustc 1.0.0 (a59de37e9 2015-05-13) (built 2015-05-14)
$ rustc -
<anon>:2:13: 2:28 error: ambiguous associated type; specify the type using the syntax `<f32 as Trait>::consts` [E0223]
<anon>:2 let i = f32::consts::PI;
^~~~~~~~~~~~~~~
error: aborting due to previous error
f32
,它与之无关。 f32
。<f32 as Trait>::consts
语法是什么?我以前从未见过它。答案 0 :(得分:12)
要解决此问题,请添加use std::f32
或使用std::f32::consts::PI
,以便编译器知道我们在这里谈论模块 f32
,不是类型 f32
。
答案 1 :(得分:4)
这个
<f32 as Trait>::consts
语法是什么?我以前从未见过它。
这是目前称为&#34;通用函数调用语法&#34; http://doc.rust-lang.org/stable/book/ufcs.html,但我们正在谈论不再称之为,因为这不是一个功能......它更像是一种扩展的,明确的形式。