about summary refs log tree commit diff
path: root/src/librustc_error_codes/error_codes
diff options
context:
space:
mode:
authorDonough Liu <ldm2993593805@163.com>2019-12-23 21:05:02 +0800
committerDonough Liu <ldm2993593805@163.com>2019-12-23 21:05:02 +0800
commit1485c168990b2dbb6e2858bc09af0254c1af9491 (patch)
treeeae7e1b8d4aaf2e1c84ae8dec05135b41e0677b2 /src/librustc_error_codes/error_codes
parenta916ac22b9f7f1f0f7aba0a41a789b3ecd765018 (diff)
downloadrust-1485c168990b2dbb6e2858bc09af0254c1af9491.tar.gz
rust-1485c168990b2dbb6e2858bc09af0254c1af9491.zip
Add long error code explanation message for E0627
Diffstat (limited to 'src/librustc_error_codes/error_codes')
-rw-r--r--src/librustc_error_codes/error_codes/E0627.md30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/librustc_error_codes/error_codes/E0627.md b/src/librustc_error_codes/error_codes/E0627.md
new file mode 100644
index 00000000000..21358e1e567
--- /dev/null
+++ b/src/librustc_error_codes/error_codes/E0627.md
@@ -0,0 +1,30 @@
+A yield expression was used outside of the generator literal.
+
+Erroneous code example:
+
+```compile_fail,E0627
+#![feature(generators, generator_trait)]
+
+fn fake_generator() -> &'static str {
+    yield 1;
+    return "foo"
+}
+
+fn main() {
+    let mut generator = fake_generator;
+}
+```
+
+The error occurs because keyword `yield` can only be used inside the generator
+literal. This can be fixed by constructing the generator correctly.
+
+```
+#![feature(generators, generator_trait)]
+
+fn main() {
+    let mut generator = || {
+        yield 1;
+        return "foo"
+    };
+}
+```