@@ -719,7 +719,7 @@ impl<T, const N: usize> Cell<[T; N]> {
719
719
#[ rustc_diagnostic_item = "RefCell" ]
720
720
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
721
721
pub struct RefCell < T : ?Sized > {
722
- borrow : Cell < BorrowFlag > ,
722
+ borrow : Cell < BorrowCounter > ,
723
723
// Stores the location of the earliest currently active borrow.
724
724
// This gets updated whenever we go from having zero borrows
725
725
// to having a single borrow. When a borrow occurs, this gets included
@@ -804,22 +804,22 @@ fn panic_already_mutably_borrowed(err: BorrowError) -> ! {
804
804
//
805
805
// `Ref` and `RefMut` are both two words in size, and so there will likely never
806
806
// be enough `Ref`s or `RefMut`s in existence to overflow half of the `usize`
807
- // range. Thus, a `BorrowFlag ` will probably never overflow or underflow.
807
+ // range. Thus, a `BorrowCounter ` will probably never overflow or underflow.
808
808
// However, this is not a guarantee, as a pathological program could repeatedly
809
809
// create and then mem::forget `Ref`s or `RefMut`s. Thus, all code must
810
810
// explicitly check for overflow and underflow in order to avoid unsafety, or at
811
811
// least behave correctly in the event that overflow or underflow happens (e.g.,
812
812
// see BorrowRef::new).
813
- type BorrowFlag = isize ;
814
- const UNUSED : BorrowFlag = 0 ;
813
+ type BorrowCounter = isize ;
814
+ const UNUSED : BorrowCounter = 0 ;
815
815
816
816
#[ inline( always) ]
817
- fn is_writing ( x : BorrowFlag ) -> bool {
817
+ fn is_writing ( x : BorrowCounter ) -> bool {
818
818
x < UNUSED
819
819
}
820
820
821
821
#[ inline( always) ]
822
- fn is_reading ( x : BorrowFlag ) -> bool {
822
+ fn is_reading ( x : BorrowCounter ) -> bool {
823
823
x > UNUSED
824
824
}
825
825
@@ -1399,12 +1399,12 @@ impl<T> From<T> for RefCell<T> {
1399
1399
impl < T : CoerceUnsized < U > , U > CoerceUnsized < RefCell < U > > for RefCell < T > { }
1400
1400
1401
1401
struct BorrowRef < ' b > {
1402
- borrow : & ' b Cell < BorrowFlag > ,
1402
+ borrow : & ' b Cell < BorrowCounter > ,
1403
1403
}
1404
1404
1405
1405
impl < ' b > BorrowRef < ' b > {
1406
1406
#[ inline]
1407
- fn new ( borrow : & ' b Cell < BorrowFlag > ) -> Option < BorrowRef < ' b > > {
1407
+ fn new ( borrow : & ' b Cell < BorrowCounter > ) -> Option < BorrowRef < ' b > > {
1408
1408
let b = borrow. get ( ) . wrapping_add ( 1 ) ;
1409
1409
if !is_reading ( b) {
1410
1410
// Incrementing borrow can result in a non-reading value (<= 0) in these cases:
@@ -1445,7 +1445,7 @@ impl Clone for BorrowRef<'_> {
1445
1445
debug_assert ! ( is_reading( borrow) ) ;
1446
1446
// Prevent the borrow counter from overflowing into
1447
1447
// a writing borrow.
1448
- assert ! ( borrow != BorrowFlag :: MAX ) ;
1448
+ assert ! ( borrow != BorrowCounter :: MAX ) ;
1449
1449
self . borrow . set ( borrow + 1 ) ;
1450
1450
BorrowRef { borrow : self . borrow }
1451
1451
}
@@ -1793,7 +1793,7 @@ impl<'b, T: ?Sized> RefMut<'b, T> {
1793
1793
}
1794
1794
1795
1795
struct BorrowRefMut < ' b > {
1796
- borrow : & ' b Cell < BorrowFlag > ,
1796
+ borrow : & ' b Cell < BorrowCounter > ,
1797
1797
}
1798
1798
1799
1799
impl Drop for BorrowRefMut < ' _ > {
@@ -1807,7 +1807,7 @@ impl Drop for BorrowRefMut<'_> {
1807
1807
1808
1808
impl < ' b > BorrowRefMut < ' b > {
1809
1809
#[ inline]
1810
- fn new ( borrow : & ' b Cell < BorrowFlag > ) -> Option < BorrowRefMut < ' b > > {
1810
+ fn new ( borrow : & ' b Cell < BorrowCounter > ) -> Option < BorrowRefMut < ' b > > {
1811
1811
// NOTE: Unlike BorrowRefMut::clone, new is called to create the initial
1812
1812
// mutable reference, and so there must currently be no existing
1813
1813
// references. Thus, while clone increments the mutable refcount, here
@@ -1831,7 +1831,7 @@ impl<'b> BorrowRefMut<'b> {
1831
1831
let borrow = self . borrow . get ( ) ;
1832
1832
debug_assert ! ( is_writing( borrow) ) ;
1833
1833
// Prevent the borrow counter from underflowing.
1834
- assert ! ( borrow != BorrowFlag :: MIN ) ;
1834
+ assert ! ( borrow != BorrowCounter :: MIN ) ;
1835
1835
self . borrow . set ( borrow - 1 ) ;
1836
1836
BorrowRefMut { borrow : self . borrow }
1837
1837
}
0 commit comments