about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2017-07-14 19:11:21 -0400
committerJohn Kåre Alsaker <john.kare.alsaker@gmail.com>2017-07-28 15:46:25 +0200
commitd71fa9371ca392cc2daadbc01d4e4c13d056a103 (patch)
treea35e723ff131efb7b459c746ebea28ee2a4fd484 /src
parent264c3f4952f1ff182502aa0885ca479c42cec17c (diff)
downloadrust-d71fa9371ca392cc2daadbc01d4e4c13d056a103.tar.gz
rust-d71fa9371ca392cc2daadbc01d4e4c13d056a103.zip
fix yields-in-args test and add a reverse one
Diffstat (limited to 'src')
-rw-r--r--src/test/compile-fail/generator/yield-in-args-rev.rs24
-rw-r--r--src/test/compile-fail/generator/yield-in-args.rs8
2 files changed, 28 insertions, 4 deletions
diff --git a/src/test/compile-fail/generator/yield-in-args-rev.rs b/src/test/compile-fail/generator/yield-in-args-rev.rs
new file mode 100644
index 00000000000..2fadbfeb9d8
--- /dev/null
+++ b/src/test/compile-fail/generator/yield-in-args-rev.rs
@@ -0,0 +1,24 @@
+// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(generators)]
+
+fn foo(_a: (), _b: &bool) {}
+
+// Some examples that probably *could* be accepted, but which we reject for now.
+
+fn bar() {
+	|| {
+		let b = true;
+		foo(yield, &b);
+	}; //~ ERROR `b` does not live long enough
+}
+
+fn main() { }
diff --git a/src/test/compile-fail/generator/yield-in-args.rs b/src/test/compile-fail/generator/yield-in-args.rs
index 02106662b18..c719baa5e2a 100644
--- a/src/test/compile-fail/generator/yield-in-args.rs
+++ b/src/test/compile-fail/generator/yield-in-args.rs
@@ -13,8 +13,8 @@
 fn foo(_b: &bool, _a: ()) {}
 
 fn main() {
-    || {
-        let b = true;
-        foo(&b, yield); // ERROR `b` does not live long enough
-    };
+	|| {
+		let b = true;
+		foo(&b, yield);
+	}; //~ ERROR `b` does not live long enough
 }