175175
176176use cmp:: Ordering ;
177177use fmt:: { self , Debug , Display } ;
178- use marker:: { PhantomData , Unsize } ;
178+ use marker:: Unsize ;
179179use ops:: { Deref , DerefMut , CoerceUnsized } ;
180180
181181/// A mutable memory location that admits only `Copy` data.
@@ -403,40 +403,40 @@ pub enum BorrowState {
403403}
404404
405405/// An error returned by [`RefCell::try_borrow`](struct.RefCell.html#method.try_borrow).
406- #[ unstable ( feature = "try_borrow" , issue = "35070 " ) ]
407- pub struct BorrowError < ' a , T : ' a + ? Sized > {
408- marker : PhantomData < & ' a RefCell < T > > ,
406+ #[ stable ( feature = "try_borrow" , since = "1.13.0 " ) ]
407+ pub struct BorrowError {
408+ _private : ( ) ,
409409}
410410
411- #[ unstable ( feature = "try_borrow" , issue = "35070 " ) ]
412- impl < ' a , T : ? Sized > Debug for BorrowError < ' a , T > {
411+ #[ stable ( feature = "try_borrow" , since = "1.13.0 " ) ]
412+ impl Debug for BorrowError {
413413 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
414414 f. debug_struct ( "BorrowError" ) . finish ( )
415415 }
416416}
417417
418- #[ unstable ( feature = "try_borrow" , issue = "35070 " ) ]
419- impl < ' a , T : ? Sized > Display for BorrowError < ' a , T > {
418+ #[ stable ( feature = "try_borrow" , since = "1.13.0 " ) ]
419+ impl Display for BorrowError {
420420 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
421421 Display :: fmt ( "already mutably borrowed" , f)
422422 }
423423}
424424
425425/// An error returned by [`RefCell::try_borrow_mut`](struct.RefCell.html#method.try_borrow_mut).
426- #[ unstable ( feature = "try_borrow" , issue = "35070 " ) ]
427- pub struct BorrowMutError < ' a , T : ' a + ? Sized > {
428- marker : PhantomData < & ' a RefCell < T > > ,
426+ #[ stable ( feature = "try_borrow" , since = "1.13.0 " ) ]
427+ pub struct BorrowMutError {
428+ _private : ( ) ,
429429}
430430
431- #[ unstable ( feature = "try_borrow" , issue = "35070 " ) ]
432- impl < ' a , T : ? Sized > Debug for BorrowMutError < ' a , T > {
431+ #[ stable ( feature = "try_borrow" , since = "1.13.0 " ) ]
432+ impl Debug for BorrowMutError {
433433 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
434434 f. debug_struct ( "BorrowMutError" ) . finish ( )
435435 }
436436}
437437
438- #[ unstable ( feature = "try_borrow" , issue = "35070 " ) ]
439- impl < ' a , T : ? Sized > Display for BorrowMutError < ' a , T > {
438+ #[ stable ( feature = "try_borrow" , since = "1.13.0 " ) ]
439+ impl Display for BorrowMutError {
440440 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
441441 Display :: fmt ( "already borrowed" , f)
442442 }
@@ -573,8 +573,6 @@ impl<T: ?Sized> RefCell<T> {
573573 /// # Examples
574574 ///
575575 /// ```
576- /// #![feature(try_borrow)]
577- ///
578576 /// use std::cell::RefCell;
579577 ///
580578 /// let c = RefCell::new(5);
@@ -589,15 +587,15 @@ impl<T: ?Sized> RefCell<T> {
589587 /// assert!(c.try_borrow().is_ok());
590588 /// }
591589 /// ```
592- #[ unstable ( feature = "try_borrow" , issue = "35070 " ) ]
590+ #[ stable ( feature = "try_borrow" , since = "1.13.0 " ) ]
593591 #[ inline]
594- pub fn try_borrow ( & self ) -> Result < Ref < T > , BorrowError < T > > {
592+ pub fn try_borrow ( & self ) -> Result < Ref < T > , BorrowError > {
595593 match BorrowRef :: new ( & self . borrow ) {
596594 Some ( b) => Ok ( Ref {
597595 value : unsafe { & * self . value . get ( ) } ,
598596 borrow : b,
599597 } ) ,
600- None => Err ( BorrowError { marker : PhantomData } ) ,
598+ None => Err ( BorrowError { _private : ( ) } ) ,
601599 }
602600 }
603601
@@ -654,8 +652,6 @@ impl<T: ?Sized> RefCell<T> {
654652 /// # Examples
655653 ///
656654 /// ```
657- /// #![feature(try_borrow)]
658- ///
659655 /// use std::cell::RefCell;
660656 ///
661657 /// let c = RefCell::new(5);
@@ -667,15 +663,15 @@ impl<T: ?Sized> RefCell<T> {
667663 ///
668664 /// assert!(c.try_borrow_mut().is_ok());
669665 /// ```
670- #[ unstable ( feature = "try_borrow" , issue = "35070 " ) ]
666+ #[ stable ( feature = "try_borrow" , since = "1.13.0 " ) ]
671667 #[ inline]
672- pub fn try_borrow_mut ( & self ) -> Result < RefMut < T > , BorrowMutError < T > > {
668+ pub fn try_borrow_mut ( & self ) -> Result < RefMut < T > , BorrowMutError > {
673669 match BorrowRefMut :: new ( & self . borrow ) {
674670 Some ( b) => Ok ( RefMut {
675671 value : unsafe { & mut * self . value . get ( ) } ,
676672 borrow : b,
677673 } ) ,
678- None => Err ( BorrowMutError { marker : PhantomData } ) ,
674+ None => Err ( BorrowMutError { _private : ( ) } ) ,
679675 }
680676 }
681677
0 commit comments