aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorBrian Anderson <[email protected]>2011-01-30 17:38:46 -0500
committerGraydon Hoare <[email protected]>2011-02-10 12:12:10 -0800
commit6461cf30de748fbe310640cd9c195965fc3da229 (patch)
tree62e06953c60f2e2a8a4c1ae55eb483a238a957d5 /src/test
parentParse 'be' statement. Pass tailcall tests. No actual tailcalls yet. (diff)
downloadrust-6461cf30de748fbe310640cd9c195965fc3da229.tar.xz
rust-6461cf30de748fbe310640cd9c195965fc3da229.zip
Add compile-fail tests for tail calls
Diffstat (limited to 'src/test')
-rw-r--r--src/test/compile-fail/tail-non-call.rs10
-rw-r--r--src/test/compile-fail/tail-typeck.rs13
2 files changed, 23 insertions, 0 deletions
diff --git a/src/test/compile-fail/tail-non-call.rs b/src/test/compile-fail/tail-non-call.rs
new file mode 100644
index 00000000..2742d1fe
--- /dev/null
+++ b/src/test/compile-fail/tail-non-call.rs
@@ -0,0 +1,10 @@
+// error-pattern: Non-call expression in tail call
+
+fn f() -> int {
+ auto x = 1;
+ be x;
+}
+
+fn main() {
+ auto y = f();
+} \ No newline at end of file
diff --git a/src/test/compile-fail/tail-typeck.rs b/src/test/compile-fail/tail-typeck.rs
new file mode 100644
index 00000000..10b95546
--- /dev/null
+++ b/src/test/compile-fail/tail-typeck.rs
@@ -0,0 +1,13 @@
+// error-pattern: mismatched types
+
+fn f() -> int {
+ be g();
+}
+
+fn g() -> uint {
+ ret 0u;
+}
+
+fn main() {
+ auto y = f();
+} \ No newline at end of file