diff --git a/src/liballoc/arc.rs b/src/liballoc/arc.rs index 79bd5a9134487..4aba567fa1c20 100644 --- a/src/liballoc/arc.rs +++ b/src/liballoc/arc.rs @@ -259,6 +259,7 @@ impl Arc { loop { // check if the weak counter is currently "locked"; if so, spin. if cur == usize::MAX { + cur = this.inner().weak.load(Relaxed); continue; }