@@ -719,7 +719,7 @@ impl<T, const N: usize> Cell<[T; N]> {
719719#[ rustc_diagnostic_item = "RefCell" ]
720720#[ stable( feature = "rust1" , since = "1.0.0" ) ]
721721pub struct RefCell < T : ?Sized > {
722- borrow : Cell < BorrowFlag > ,
722+ borrow : Cell < BorrowCounter > ,
723723 // Stores the location of the earliest currently active borrow.
724724 // This gets updated whenever we go from having zero borrows
725725 // to having a single borrow. When a borrow occurs, this gets included
@@ -800,22 +800,22 @@ fn panic_already_mutably_borrowed(err: BorrowError) -> ! {
800800//
801801// `Ref` and `RefMut` are both two words in size, and so there will likely never
802802// be enough `Ref`s or `RefMut`s in existence to overflow half of the `usize`
803- // range. Thus, a `BorrowFlag ` will probably never overflow or underflow.
803+ // range. Thus, a `BorrowCounter ` will probably never overflow or underflow.
804804// However, this is not a guarantee, as a pathological program could repeatedly
805805// create and then mem::forget `Ref`s or `RefMut`s. Thus, all code must
806806// explicitly check for overflow and underflow in order to avoid unsafety, or at
807807// least behave correctly in the event that overflow or underflow happens (e.g.,
808808// see BorrowRef::new).
809- type BorrowFlag = isize ;
810- const UNUSED : BorrowFlag = 0 ;
809+ type BorrowCounter = isize ;
810+ const UNUSED : BorrowCounter = 0 ;
811811
812812#[ inline( always) ]
813- fn is_writing ( x : BorrowFlag ) -> bool {
813+ fn is_writing ( x : BorrowCounter ) -> bool {
814814 x < UNUSED
815815}
816816
817817#[ inline( always) ]
818- fn is_reading ( x : BorrowFlag ) -> bool {
818+ fn is_reading ( x : BorrowCounter ) -> bool {
819819 x > UNUSED
820820}
821821
@@ -1395,12 +1395,12 @@ impl<T> From<T> for RefCell<T> {
13951395impl < T : CoerceUnsized < U > , U > CoerceUnsized < RefCell < U > > for RefCell < T > { }
13961396
13971397struct BorrowRef < ' b > {
1398- borrow : & ' b Cell < BorrowFlag > ,
1398+ borrow : & ' b Cell < BorrowCounter > ,
13991399}
14001400
14011401impl < ' b > BorrowRef < ' b > {
14021402 #[ inline]
1403- fn new ( borrow : & ' b Cell < BorrowFlag > ) -> Option < BorrowRef < ' b > > {
1403+ fn new ( borrow : & ' b Cell < BorrowCounter > ) -> Option < BorrowRef < ' b > > {
14041404 let b = borrow. get ( ) . wrapping_add ( 1 ) ;
14051405 if !is_reading ( b) {
14061406 // Incrementing borrow can result in a non-reading value (<= 0) in these cases:
@@ -1441,7 +1441,7 @@ impl Clone for BorrowRef<'_> {
14411441 debug_assert ! ( is_reading( borrow) ) ;
14421442 // Prevent the borrow counter from overflowing into
14431443 // a writing borrow.
1444- assert ! ( borrow != BorrowFlag :: MAX ) ;
1444+ assert ! ( borrow != BorrowCounter :: MAX ) ;
14451445 self . borrow . set ( borrow + 1 ) ;
14461446 BorrowRef { borrow : self . borrow }
14471447 }
@@ -1789,7 +1789,7 @@ impl<'b, T: ?Sized> RefMut<'b, T> {
17891789}
17901790
17911791struct BorrowRefMut < ' b > {
1792- borrow : & ' b Cell < BorrowFlag > ,
1792+ borrow : & ' b Cell < BorrowCounter > ,
17931793}
17941794
17951795impl Drop for BorrowRefMut < ' _ > {
@@ -1803,7 +1803,7 @@ impl Drop for BorrowRefMut<'_> {
18031803
18041804impl < ' b > BorrowRefMut < ' b > {
18051805 #[ inline]
1806- fn new ( borrow : & ' b Cell < BorrowFlag > ) -> Option < BorrowRefMut < ' b > > {
1806+ fn new ( borrow : & ' b Cell < BorrowCounter > ) -> Option < BorrowRefMut < ' b > > {
18071807 // NOTE: Unlike BorrowRefMut::clone, new is called to create the initial
18081808 // mutable reference, and so there must currently be no existing
18091809 // references. Thus, while clone increments the mutable refcount, here
@@ -1827,7 +1827,7 @@ impl<'b> BorrowRefMut<'b> {
18271827 let borrow = self . borrow . get ( ) ;
18281828 debug_assert ! ( is_writing( borrow) ) ;
18291829 // Prevent the borrow counter from underflowing.
1830- assert ! ( borrow != BorrowFlag :: MIN ) ;
1830+ assert ! ( borrow != BorrowCounter :: MIN ) ;
18311831 self . borrow . set ( borrow - 1 ) ;
18321832 BorrowRefMut { borrow : self . borrow }
18331833 }
0 commit comments