Error code E0329

Note: this error code is no longer emitted by the compiler.

An attempt was made to access an associated constant through either a generic type parameter or Self. This is not supported yet. An example causing this error is shown below:

#![allow(unused)] fn main() { trait Foo { const BAR: f64; } struct MyStruct; impl Foo for MyStruct { const BAR: f64 = 0f64; } fn get_bar_bad<F: Foo>(t: F) -> f64 { F::BAR } }

Currently, the value of BAR for a particular type can only be accessed through a concrete type, as shown below:

#![allow(unused)] fn main() { trait Foo { const BAR: f64; } struct MyStruct; impl Foo for MyStruct { const BAR: f64 = 0f64; } fn get_bar_good() -> f64 { <MyStruct as Foo>::BAR } }