about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAndrew Kuchev <0coming.soon@gmail.com>2015-07-27 08:38:06 +0500
committerAndrew Kuchev <0coming.soon@gmail.com>2015-07-27 08:38:06 +0500
commitecfe58e53c0e6c42dc5d4ee9edac6bb0a02ad5bb (patch)
treeae3d699fc575a7b1450e03cc9f362c526c445369 /src
parenta5c12f4e39d32af3c951b66bd2839bc0b5a1125b (diff)
downloadrust-ecfe58e53c0e6c42dc5d4ee9edac6bb0a02ad5bb.tar.gz
rust-ecfe58e53c0e6c42dc5d4ee9edac6bb0a02ad5bb.zip
Added explanation for E0391
Diffstat (limited to 'src')
-rw-r--r--src/librustc_typeck/diagnostics.rs18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/librustc_typeck/diagnostics.rs b/src/librustc_typeck/diagnostics.rs
index 73ee3bbbe5b..4057e177d12 100644
--- a/src/librustc_typeck/diagnostics.rs
+++ b/src/librustc_typeck/diagnostics.rs
@@ -2215,6 +2215,23 @@ For more information see the [opt-in builtin traits RFC](https://github.com/rust
 -lang/rfcs/blob/master/text/0019-opt-in-builtin-traits.md).
 "##,
 
+E0391: r##"
+This error indicates that some types or traits depends on each other
+and therefore could not be constructed properly.
+
+The following example contains circular dependency between two traits:
+
+```
+trait FirstTrait : SecondTrait {
+
+}
+
+trait SecondTrait : FirstTrait {
+
+}
+```
+"##,
+
 E0392: r##"
 This error indicates that a type or lifetime parameter has been declared
 but not actually used.  Here is an example that demonstrates the error:
@@ -2370,7 +2387,6 @@ register_diagnostics! {
            // between structures with the same definition
     E0390, // only a single inherent implementation marked with
            // `#[lang = \"{}\"]` is allowed for the `{}` primitive
-    E0391, // unsupported cyclic reference between types/traits detected
     E0393, // the type parameter `{}` must be explicitly specified in an object
            // type because its default value `{}` references the type `Self`"
     E0399, // trait items need to be implemented because the associated