diff --git a/src/libcore/arc.rs b/src/libcore/arc.rs index 9c46df9731b9..6a27c0b7ade9 100644 --- a/src/libcore/arc.rs +++ b/src/libcore/arc.rs @@ -112,6 +112,7 @@ impl methods for exclusive { unsafe fn with(f: fn(sys::condition, x: &mut T) -> U) -> U { let ptr: ~arc_data> = unsafe::reinterpret_cast(self.data); + assert ptr.count > 0; let r = { let rec: &ex_data = &(*ptr).data; rec.lock.lock_cond(|c| f(c, &mut rec.data))