about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2012-01-10 06:49:15 -0800
committerNiko Matsakis <niko@alum.mit.edu>2012-01-10 13:31:06 -0800
commit8b911587dfed1cc1973b361865c3632a2e2cffde (patch)
tree7a0be45d1690d5ccc80a23e80243f20076bf93eb /src/test
parentaf086aa8ef0628cc21d4dc5831258bf45c9bb872 (diff)
downloadrust-8b911587dfed1cc1973b361865c3632a2e2cffde.tar.gz
rust-8b911587dfed1cc1973b361865c3632a2e2cffde.zip
rename sendfn to fn~, lambda to fn@
Diffstat (limited to 'src/test')
-rw-r--r--src/test/compile-fail/sendfn-is-not-a-lambda.rs6
-rw-r--r--src/test/pretty/cap-clause.rs6
-rw-r--r--src/test/run-fail/unwind-lambda.rs5
-rw-r--r--src/test/run-pass/lambda-no-leak.rs4
-rw-r--r--src/test/run-pass/uniq-fn-leak.rs23
5 files changed, 33 insertions, 11 deletions
diff --git a/src/test/compile-fail/sendfn-is-not-a-lambda.rs b/src/test/compile-fail/sendfn-is-not-a-lambda.rs
index 1be97b94654..ca8701c692e 100644
--- a/src/test/compile-fail/sendfn-is-not-a-lambda.rs
+++ b/src/test/compile-fail/sendfn-is-not-a-lambda.rs
@@ -1,10 +1,8 @@
-// error-pattern: mismatched types: expected `fn@(++uint) -> uint`
-
 fn test(f: fn@(uint) -> uint) -> uint {
     ret f(22u);
 }
 
 fn main() {
-    let f = sendfn(x: uint) -> uint { ret 4u; };
-    log(debug, test(f));
+    let f = fn~(x: uint) -> uint { ret 4u; };
+    log(debug, test(f)); //! ERROR expected `fn@(++uint) -> uint`
 }
diff --git a/src/test/pretty/cap-clause.rs b/src/test/pretty/cap-clause.rs
index eeaa7853c3e..e6a78c3d762 100644
--- a/src/test/pretty/cap-clause.rs
+++ b/src/test/pretty/cap-clause.rs
@@ -11,7 +11,7 @@ fn main() {
     let x = 1;
     let y = 2;
     let z = 3;
-    let s1 = sendfn[copy x]() -> int { x + y };
-    let s2 = sendfn[copy x; move y]() -> int { x + y };
-    let s3 = sendfn[move z]() -> int { z };
+    let s1 = fn~[copy x]() -> int { x + y };
+    let s2 = fn~[copy x; move y]() -> int { x + y };
+    let s3 = fn~[move z]() -> int { z };
 }
diff --git a/src/test/run-fail/unwind-lambda.rs b/src/test/run-fail/unwind-lambda.rs
index b9dcabcabbf..f70e6bf727c 100644
--- a/src/test/run-fail/unwind-lambda.rs
+++ b/src/test/run-fail/unwind-lambda.rs
@@ -8,9 +8,10 @@ fn main() {
         macerate(*tasties);
     } (carrots, { |food|
         let mush = food + cheese;
-        let _ = fn@() {
+        let f = fn@() {
             let chew = mush + cheese;
             fail "so yummy"
-        } ();
+        };
+        f();
     });
 }
\ No newline at end of file
diff --git a/src/test/run-pass/lambda-no-leak.rs b/src/test/run-pass/lambda-no-leak.rs
index 171650a4268..9ef41f5bc60 100644
--- a/src/test/run-pass/lambda-no-leak.rs
+++ b/src/test/run-pass/lambda-no-leak.rs
@@ -2,6 +2,6 @@
 fn force(f: fn@()) { f() }
 fn main() {
     let x = 7;
-    let _ = fn@ () { log(error, x); };
-    force(fn@ () { log(error, x); });
+    let _f = fn@() { log(error, x); };
+    force(fn@() { log(error, x); });
 }
diff --git a/src/test/run-pass/uniq-fn-leak.rs b/src/test/run-pass/uniq-fn-leak.rs
new file mode 100644
index 00000000000..7c9a6e7aca5
--- /dev/null
+++ b/src/test/run-pass/uniq-fn-leak.rs
@@ -0,0 +1,23 @@
+// xfail-test
+    tag maybe_pointy {
+        none;
+        p(@pointy);
+    }
+
+    type pointy = {
+        mutable a : maybe_pointy,
+        d : sendfn()->(),
+    };
+
+    fn empty_pointy() -> @pointy {
+        ret @{
+            mutable a : none,
+            d : sendfn()->(){},
+        }
+    }
+
+    fn main()
+    {
+        let v = empty_pointy();
+        v.a = p(v);
+    }