35 lines
812 B
Rust
35 lines
812 B
Rust
#![feature(plugin)]
|
|
#![plugin(clippy)]
|
|
|
|
#![allow(dead_code)]
|
|
|
|
use std::io;
|
|
|
|
// FIXME: compiletest doesn't understand errors from macro invocation span
|
|
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")?;
|
|
//~^ ERROR handle written amount returned
|
|
let mut buf = [0u8; 4];
|
|
s.read(&mut buf)?;
|
|
//~^ ERROR handle read amount returned
|
|
Ok(())
|
|
}
|
|
|
|
fn unwrap<T: io::Read + io::Write>(s: &mut T) {
|
|
s.write(b"test").unwrap();
|
|
//~^ ERROR handle written amount returned
|
|
let mut buf = [0u8; 4];
|
|
s.read(&mut buf).unwrap();
|
|
//~^ ERROR handle read amount returned
|
|
}
|
|
|
|
fn main() {
|
|
}
|