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
}
}