Closed
Description
Os is Ubuntu 14.04.1 LTS
on amd64
uname -a
is Linux ubuntu 3.13.0-34-generic #60-Ubuntu SMP Wed Aug 13 15:45:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
rustc -v
is rustc 0.12.0-pre-nightly (e024017f6 2014-09-04 20:21:02 +0000)
Code (as minimal as i could get it to not work):
use std::io::BufReader;
mod test {
use std::io::{Reader,IoError};
use std::collections::HashMap;
pub type TEST<'t> = HashMap<u16, Option<Box<DataFormat>>>;
enum DataFormat {
Something(str),
Undefined
}
enum ByteOrder {
BigEndian,
LittleEndian
}
impl<T: Reader> DataFormat {
fn read(&mut self, stream: &mut T, order: ByteOrder) -> Result<Box<DataFormat>, IoError> {
let (tag, format) = match order {
BigEndian =>
(try!(stream.read_be_u16()), try!(stream.read_be_u16())),
LittleEndian =>
(try!(stream.read_le_u16()), try!(stream.read_le_u16())),
};
Ok(box Undefined)
}
}
pub fn parse<T: Reader>(stream: &mut T) -> Result<(), IoError> {
let mut test: TEST = HashMap::new();
Ok(())
}
}
fn main() {
let mut buf = [0, 1, 2, 3];
let mut r = BufReader::new(buf);
test::parse(&mut r);
return;
}
Output (with warnings skipped):
rustc: /home/rustbuild/src/rust-buildbot/slave/nightly-linux/build/src/llvm/include/llvm/IR/Instructions.h:987: void llvm::ICmpInst::AssertOK(): Assertion `(getOperand(0)->getType()->isIntOrIntVectorTy() || getOperand(0)->getType()->isPtrOrPtrVectorTy()) && "Invalid operand types for ICmp instruction"' failed.
Aborted (core dumped)
Metadata
Metadata
Assignees
Labels
No labels