Consider following code:
fn main() {
let i = f32::consts::PI;
}
With following error:
$ 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
, which is not associated. f32
.<f32 as Trait>::consts
syntax? I've never seen it before.pi property in Swift represents the mathematical constant pi.
alt + p is the shortcut (on US-keyboards) that will create the π unicode character.
To solve the issue, add use std::f32
or use std::f32::consts::PI
, so that the compiler knows we're talking about the module f32
here, not the type f32
.
What is this
<f32 as Trait>::consts
syntax? I've never seen it before.
This is currently called "universal function call syntax" http://doc.rust-lang.org/stable/book/ufcs.html, but we're talking about not calling it that anymore, since this isn't a function... it's more of an expanded, unambiguous form.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With