summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_error_codes/src/error_codes/E0329.md
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_error_codes/src/error_codes/E0329.md')
-rw-r--r--compiler/rustc_error_codes/src/error_codes/E0329.md40
1 files changed, 40 insertions, 0 deletions
diff --git a/compiler/rustc_error_codes/src/error_codes/E0329.md b/compiler/rustc_error_codes/src/error_codes/E0329.md
new file mode 100644
index 000000000..37d84a1a8
--- /dev/null
+++ b/compiler/rustc_error_codes/src/error_codes/E0329.md
@@ -0,0 +1,40 @@
+#### 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:
+
+```
+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:
+
+```
+trait Foo {
+ const BAR: f64;
+}
+
+struct MyStruct;
+
+impl Foo for MyStruct {
+ const BAR: f64 = 0f64;
+}
+
+fn get_bar_good() -> f64 {
+ <MyStruct as Foo>::BAR
+}
+```