From 58ec5d1654f367d7f3459ebee2b5f4c89e0f3aa1 Mon Sep 17 00:00:00 2001 From: Marijn Haverbeke Date: Fri, 13 May 2011 11:57:58 +0200 Subject: Move capture checking into resolve.rs Drops capture.rs. The new algorithm also checks for captures function arguments and obj fields. --- src/test/compile-fail/bad-env-capture.rs | 1 - src/test/compile-fail/bad-env-capture2.rs | 11 +++++++++++ src/test/compile-fail/bad-env-capture3.rs | 14 ++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/test/compile-fail/bad-env-capture2.rs create mode 100644 src/test/compile-fail/bad-env-capture3.rs (limited to 'src/test') diff --git a/src/test/compile-fail/bad-env-capture.rs b/src/test/compile-fail/bad-env-capture.rs index 55fa7473..fa1e1d08 100644 --- a/src/test/compile-fail/bad-env-capture.rs +++ b/src/test/compile-fail/bad-env-capture.rs @@ -1,6 +1,5 @@ // xfail-stage0 // xfail-stage1 -// xfail-stage2 // error-pattern: attempted dynamic environment-capture fn foo() { let int x; diff --git a/src/test/compile-fail/bad-env-capture2.rs b/src/test/compile-fail/bad-env-capture2.rs new file mode 100644 index 00000000..ccec3310 --- /dev/null +++ b/src/test/compile-fail/bad-env-capture2.rs @@ -0,0 +1,11 @@ +// xfail-stage0 +// xfail-stage1 +// error-pattern: attempted dynamic environment-capture +fn foo(int x) { + fn bar() { + log x; + } +} +fn main() { + foo(2); +} \ No newline at end of file diff --git a/src/test/compile-fail/bad-env-capture3.rs b/src/test/compile-fail/bad-env-capture3.rs new file mode 100644 index 00000000..77f7881d --- /dev/null +++ b/src/test/compile-fail/bad-env-capture3.rs @@ -0,0 +1,14 @@ +// xfail-stage0 +// xfail-stage1 +// error-pattern: attempted dynamic environment-capture +obj foo(int x) { + fn mth() { + fn bar() { + log x; + } + } +} + +fn main() { + foo(2); +} -- cgit v1.2.3