Revert "Add more explanation for why the assumes are there"

This reverts commit a7525bc4c8eb8507a5c248d29286e77133217cf3.
This commit is contained in:
Alex Crichton 2015-01-21 13:55:04 -08:00
parent ecbee2e568
commit ee253c918d

View File

@ -755,8 +755,6 @@ trait RcBoxPtr<T> {
fn inc_strong(&self) {
let strong = self.strong();
// The reference count is always at least one unless we're about to drop the type
// This allows the bulk of the destructor to be omitted in cases where we know that
// the reference count must be > 0.
unsafe { assume(strong > 0); }
self.inner().strong.set(strong + 1);
}
@ -765,8 +763,6 @@ trait RcBoxPtr<T> {
fn dec_strong(&self) {
let strong = self.strong();
// The reference count is always at least one unless we're about to drop the type
// This allows the bulk of the destructor to be omitted in cases where we know that
// the reference count must be > 0
unsafe { assume(strong > 0); }
self.inner().strong.set(strong - 1);
}
@ -786,9 +782,7 @@ impl<T> RcBoxPtr<T> for Rc<T> {
fn inner(&self) -> &RcBox<T> {
unsafe {
// Safe to assume this here, as if it weren't true, we'd be breaking
// the contract anyway.
// This allows the null check to be elided in the destructor if we
// manipulated the reference count in the same function.
// the contract anyway
assume(!self._ptr.is_null());
&(**self._ptr)
}
@ -801,8 +795,6 @@ impl<T> RcBoxPtr<T> for Weak<T> {
unsafe {
// Safe to assume this here, as if it weren't true, we'd be breaking
// the contract anyway
// This allows the null check to be elided in the destructor if we
// manipulated the reference count in the same function.
assume(!self._ptr.is_null());
&(**self._ptr)
}