diff --git a/src/memory.rs b/src/memory.rs index 86b00452bc00..ae927865b4dd 100644 --- a/src/memory.rs +++ b/src/memory.rs @@ -210,9 +210,7 @@ impl Memory { } pub fn write_bool(&mut self, ptr: Pointer, b: bool) -> EvalResult<()> { - let bytes = try!(self.get_bytes_mut(ptr, 1)); - bytes[0] = b as u8; - Ok(()) + self.get_bytes_mut(ptr, 1).map(|bytes| bytes[0] = b as u8) } pub fn read_int(&self, ptr: Pointer, size: usize) -> EvalResult { diff --git a/test/bools.rs b/test/bools.rs index e835d3e87e4b..f8e6c2d89d22 100755 --- a/test/bools.rs +++ b/test/bools.rs @@ -8,12 +8,14 @@ fn boolean() -> bool { #[miri_run] fn if_false() -> i64 { - if false { 1 } else { 0 } + let c = false; + if c { 1 } else { 0 } } #[miri_run] fn if_true() -> i64 { - if true { 1 } else { 0 } + let c = true; + if c { 1 } else { 0 } } #[miri_run]