2017-01-07 05:35:45 -06:00
|
|
|
#![feature(plugin)]
|
|
|
|
#![plugin(clippy)]
|
|
|
|
|
|
|
|
#![allow(dead_code)]
|
|
|
|
|
|
|
|
use std::io;
|
|
|
|
|
2017-01-07 08:39:50 -06:00
|
|
|
// FIXME: compiletest doesn't understand errors from macro invocation span
|
2017-01-07 05:35:45 -06:00
|
|
|
fn try_macro<T: io::Read + io::Write>(s: &mut T) -> io::Result<()> {
|
|
|
|
try!(s.write(b"test"));
|
|
|
|
let mut buf = [0u8; 4];
|
|
|
|
try!(s.read(&mut buf));
|
|
|
|
Ok(())
|
|
|
|
}
|
|
|
|
|
|
|
|
fn question_mark<T: io::Read + io::Write>(s: &mut T) -> io::Result<()> {
|
|
|
|
s.write(b"test")?;
|
|
|
|
let mut buf = [0u8; 4];
|
|
|
|
s.read(&mut buf)?;
|
|
|
|
Ok(())
|
|
|
|
}
|
|
|
|
|
|
|
|
fn unwrap<T: io::Read + io::Write>(s: &mut T) {
|
|
|
|
s.write(b"test").unwrap();
|
|
|
|
let mut buf = [0u8; 4];
|
|
|
|
s.read(&mut buf).unwrap();
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
}
|