}
}
+ // FIXME(tsion): Handle different integer types correctly. Use primvals?
+ "overflowing_sub" => {
+ let ty = *substs.types.get(subst::FnSpace, 0);
+ let size = self.ty_size(ty);
+
+ let left_arg = try!(self.eval_operand(&args[0]));
+ let right_arg = try!(self.eval_operand(&args[1]));
+
+ let left = try!(self.memory.read_int(left_arg, size));
+ let right = try!(self.memory.read_int(right_arg, size));
+
+ let n = left.wrapping_sub(right);
+ try!(self.memory.write_int(dest, n, size));
+ }
+
"size_of" => {
let ty = *substs.types.get(subst::FnSpace, 0);
let size = self.ty_size(ty) as u64;
vec![1, 2]
}
+#[miri_run]
+fn make_vec_macro_repeat() -> Vec<u8> {
+ vec![42; 8]
+}
+
#[miri_run]
fn vec_int_iter() -> i32 {
vec![1, 2, 3, 4].into_iter().fold(0, |x, y| x + y)