From a0610c952f0d23927443b901241627ae910fd3cd Mon Sep 17 00:00:00 2001 From: Tim Chevalier Date: Thu, 15 Nov 2012 12:30:04 -0800 Subject: [PATCH] Add tests for #2190 (xfailed) --- src/test/run-pass/issue-2190-1.rs | 14 ++++++++++++++ src/test/run-pass/issue-2190-2.rs | 21 +++++++++++++++++++++ src/test/run-pass/issue-2190.rs | 8 ++++++++ 3 files changed, 43 insertions(+) create mode 100644 src/test/run-pass/issue-2190-1.rs create mode 100644 src/test/run-pass/issue-2190-2.rs create mode 100644 src/test/run-pass/issue-2190.rs diff --git a/src/test/run-pass/issue-2190-1.rs b/src/test/run-pass/issue-2190-1.rs new file mode 100644 index 000000000000..144b6e182f25 --- /dev/null +++ b/src/test/run-pass/issue-2190-1.rs @@ -0,0 +1,14 @@ +// xfail-test +const generations: uint = 1024+256+128+49; + +fn child_no(x: uint) -> fn~() { + || { + if x < generations { + task::spawn(child_no(x+1)); + } + } +} + +fn main() { + task::spawn(child_no(0)); +} diff --git a/src/test/run-pass/issue-2190-2.rs b/src/test/run-pass/issue-2190-2.rs new file mode 100644 index 000000000000..d3a5f2bd9c9c --- /dev/null +++ b/src/test/run-pass/issue-2190-2.rs @@ -0,0 +1,21 @@ +// xfail-test +mod a { +fn foo(f: fn&()) { f() } +fn bar() {} +fn main() { foo(||bar()); } +} + +mod b { +fn foo(f: Option) { f.iter(|x|x()) } +fn bar() {} +fn main() { foo(Some(bar)); } +} + +mod c { +fn foo(f: Option) { f.iter(|x|x()) } +fn bar() {} +fn main() { foo(Some(||bar())); } +} + +fn main() { +} \ No newline at end of file diff --git a/src/test/run-pass/issue-2190.rs b/src/test/run-pass/issue-2190.rs new file mode 100644 index 000000000000..aba2474556f8 --- /dev/null +++ b/src/test/run-pass/issue-2190.rs @@ -0,0 +1,8 @@ +// xfail-test +type t = { + f: fn~() +}; + +fn main() { + let _t: t = { f: {||()} }; +}