]> git.lizzy.rs Git - rust.git/commitdiff
testsuite: Add test cases, some xfailed
authorTim Chevalier <chevalier@alum.wellesley.edu>
Thu, 27 Jun 2013 23:53:40 +0000 (16:53 -0700)
committerTim Chevalier <chevalier@alum.wellesley.edu>
Thu, 27 Jun 2013 23:56:47 +0000 (16:56 -0700)
Closes #5060
Closes #4446
Closes #5192

src/test/compile-fail/issue-5060-fail.rs [new file with mode: 0644]
src/test/run-pass/issue-4446.rs [new file with mode: 0644]
src/test/run-pass/issue-5060.rs [new file with mode: 0644]
src/test/run-pass/issue-5192.rs [new file with mode: 0644]
src/test/run-pass/issue-5280.rs [new file with mode: 0644]

diff --git a/src/test/compile-fail/issue-5060-fail.rs b/src/test/compile-fail/issue-5060-fail.rs
new file mode 100644 (file)
index 0000000..c1795d3
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+
+use std::io;
+
+macro_rules! print_hd_tl (
+    ($field_hd:ident, $($field_tl:ident),+) => ({
+        io::print(stringify!($field)); //~ ERROR unknown macro variable
+        io::print("::[");
+        $(
+            io::print(stringify!($field_tl));
+            io::print(", ");
+        )+
+        io::print("]\n");
+    })
+)
+
+fn main() {
+    print_hd_tl!(x, y, z, w)
+}
+
diff --git a/src/test/run-pass/issue-4446.rs b/src/test/run-pass/issue-4446.rs
new file mode 100644 (file)
index 0000000..2f44f97
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use std::{pipes, io, task, comm};
+
+fn main() {
+    let (port, chan) = comm::stream();
+
+    do task::spawn {
+        io::println(port.recv());
+    }
+
+    chan.send("hello, world");
+}
diff --git a/src/test/run-pass/issue-5060.rs b/src/test/run-pass/issue-5060.rs
new file mode 100644 (file)
index 0000000..0922f55
--- /dev/null
@@ -0,0 +1,28 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use std::io;
+
+macro_rules! print_hd_tl (
+    ($field_hd:ident, $($field_tl:ident),+) => ({
+        io::print(stringify!($field_hd));
+        io::print("::[");
+        $(
+            io::print(stringify!($field_tl));
+            io::print(", ");
+        )+
+        io::print("]\n");
+    })
+)
+
+fn main() {
+    print_hd_tl!(x, y, z, w)
+}
+
diff --git a/src/test/run-pass/issue-5192.rs b/src/test/run-pass/issue-5192.rs
new file mode 100644 (file)
index 0000000..d5a1a77
--- /dev/null
@@ -0,0 +1,44 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait EventLoop {
+}
+
+pub struct UvEventLoop {
+    uvio: int
+}
+
+impl UvEventLoop {
+    pub fn new() -> UvEventLoop {
+        UvEventLoop {
+            uvio: 0
+        }
+    }
+}
+
+impl EventLoop for UvEventLoop {
+}
+
+pub struct Scheduler {
+    event_loop: ~EventLoop,
+}
+
+impl Scheduler {
+
+    pub fn new(event_loop: ~EventLoop) -> Scheduler {
+        Scheduler {
+            event_loop: event_loop,
+        }
+    }
+}
+
+fn main() {
+    let mut sched = Scheduler::new(~UvEventLoop::new() as ~EventLoop);
+}
diff --git a/src/test/run-pass/issue-5280.rs b/src/test/run-pass/issue-5280.rs
new file mode 100644 (file)
index 0000000..72bf0ce
--- /dev/null
@@ -0,0 +1,27 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// xfail-test
+
+type FontTableTag = u32;
+
+trait FontTableTagConversions {
+  fn tag_to_str(self);
+}
+
+impl FontTableTagConversions for FontTableTag {
+  fn tag_to_str(self) {
+    &self;
+  }
+}
+
+fn main() {
+    5.tag_to_str();
+}