auto merge of #7441 : catamorphism/rust/testcases_2013-06-27, r=catamorphism

This commit is contained in:
bors 2013-06-29 06:19:46 -07:00
commit 0326b0abed
5 changed files with 149 additions and 0 deletions

View File

@ -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)
}

View File

@ -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");
}

View File

@ -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)
}

View File

@ -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);
}

View File

@ -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();
}