about summary refs log tree commit diff
path: root/src/test/compile-fail/tutorial-suffix-inference-test.rs
diff options
context:
space:
mode:
authorLindsey Kuper <lindsey@rockstargirl.org>2012-06-20 17:09:30 -0700
committerLindsey Kuper <lindsey@rockstargirl.org>2012-06-20 17:56:40 -0700
commit1df6ddd08c3155e64806cd54b878337814401b7e (patch)
tree92eeef636afd56b8ab20dd2ed10d39b0ce1aa129 /src/test/compile-fail/tutorial-suffix-inference-test.rs
parent4dcf84e4f4a9a54254fd426609ad9f1ccffae3b9 (diff)
downloadrust-1df6ddd08c3155e64806cd54b878337814401b7e.tar.gz
rust-1df6ddd08c3155e64806cd54b878337814401b7e.zip
doc: add information about suffix inference to tutorial and manual.
Diffstat (limited to 'src/test/compile-fail/tutorial-suffix-inference-test.rs')
-rw-r--r--src/test/compile-fail/tutorial-suffix-inference-test.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/compile-fail/tutorial-suffix-inference-test.rs b/src/test/compile-fail/tutorial-suffix-inference-test.rs
new file mode 100644
index 00000000000..fa07be952c1
--- /dev/null
+++ b/src/test/compile-fail/tutorial-suffix-inference-test.rs
@@ -0,0 +1,22 @@
+fn main() {
+    let x = 3;
+    let y: i32 = 3;
+
+    fn identity_u8(n: u8) -> u8 { n }
+    fn identity_u16(n: u16) -> u16 { n }
+
+    identity_u8(x);  // after this, `x` is assumed to have type `u8`
+    identity_u16(x);
+    //!^ ERROR mismatched types: expected `u16` but found `u8`
+    identity_u16(y);
+    //!^ ERROR mismatched types: expected `u16` but found `i32`
+
+    let a = 3i;
+    
+    fn identity_i(n: int) -> int { n }
+
+    identity_i(a); // ok
+    identity_u16(a); 
+    //!^ ERROR mismatched types: expected `u16` but found `int`
+
+}
\ No newline at end of file