Рассмотрим следующий код:
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
? Я никогда раньше этого не видел. - И, очевидно, что я могу сделать, чтобы исправить эту ошибку и установить мою переменную в PI?