// it's run more than once)
let ptr = *self._ptr;
// if ptr.is_null() { return }
- if ptr as usize == 0 || ptr as usize == mem::POST_DROP_USIZE { return }
+ if ptr as *mut u8 as usize == 0 || ptr as *mut u8 as usize == mem::POST_DROP_USIZE {
+ return
+ }
// Because `fetch_sub` is already atomic, we do not need to synchronize
// with other threads unless we are going to delete the object. This
let ptr = *self._ptr;
// see comments above for why this check is here
- if ptr as usize == 0 || ptr as usize == mem::POST_DROP_USIZE { return }
+ if ptr as *mut u8 as usize == 0 || ptr as *mut u8 as usize == mem::POST_DROP_USIZE {
+ return
+ }
// If we find out that we were the last weak pointer, then its time to
// deallocate the data entirely. See the discussion in Arc::drop() about
let (min, max) = int_ty_range(int_type);
let negative = self.negated_expr_id == e.id;
- if (negative && v > (min.abs() as u64)) ||
+ if (negative && v > min.wrapping_neg() as u64) ||
(!negative && v > (max.abs() as u64)) {
cx.span_lint(OVERFLOWING_LITERALS, e.span,
&*format!("literal out of range for {:?}", t));
} else { llsrc };
}
- let _icx = push_ctxt("trans_cast"); let mut bcx = bcx; let ccx =
- bcx.ccx();
+ let _icx = push_ctxt("trans_cast");
+ let mut bcx = bcx;
+ let ccx = bcx.ccx();
let t_in = expr_ty_adjusted(bcx, expr);
let t_out = node_id_type(bcx, id);