@@ -238,7 +238,7 @@ impl<T> Rc<T> {
238
238
/// assert_eq!(Rc::try_unwrap(x), Err(Rc::new(4)));
239
239
/// ```
240
240
#[ inline]
241
- #[ unstable( feature = "rc_unique" ) ]
241
+ #[ unstable( feature = "rc_unique" , issue = "27718" ) ]
242
242
pub fn try_unwrap ( rc : Rc < T > ) -> Result < T , Rc < T > > {
243
243
if Rc :: is_unique ( & rc) {
244
244
unsafe {
@@ -271,20 +271,21 @@ impl<T: ?Sized> Rc<T> {
271
271
/// let weak_five = five.downgrade();
272
272
/// ```
273
273
#[ unstable( feature = "rc_weak" ,
274
- reason = "Weak pointers may not belong in this module" ) ]
274
+ reason = "Weak pointers may not belong in this module" ,
275
+ issue = "27718" ) ]
275
276
pub fn downgrade ( & self ) -> Weak < T > {
276
277
self . inc_weak ( ) ;
277
278
Weak { _ptr : self . _ptr }
278
279
}
279
280
280
281
/// Get the number of weak references to this value.
281
282
#[ inline]
282
- #[ unstable( feature = "rc_counts" ) ]
283
+ #[ unstable( feature = "rc_counts" , issue = "27718" ) ]
283
284
pub fn weak_count ( this : & Rc < T > ) -> usize { this. weak ( ) - 1 }
284
285
285
286
/// Get the number of strong references to this value.
286
287
#[ inline]
287
- #[ unstable( feature = "rc_counts" ) ]
288
+ #[ unstable( feature = "rc_counts" , issue= "27718" ) ]
288
289
pub fn strong_count ( this : & Rc < T > ) -> usize { this. strong ( ) }
289
290
290
291
/// Returns true if there are no other `Rc` or `Weak<T>` values that share
@@ -302,7 +303,7 @@ impl<T: ?Sized> Rc<T> {
302
303
/// assert!(Rc::is_unique(&five));
303
304
/// ```
304
305
#[ inline]
305
- #[ unstable( feature = "rc_unique" ) ]
306
+ #[ unstable( feature = "rc_unique" , issue = "27718" ) ]
306
307
pub fn is_unique ( rc : & Rc < T > ) -> bool {
307
308
Rc :: weak_count ( rc) == 0 && Rc :: strong_count ( rc) == 1
308
309
}
@@ -327,7 +328,7 @@ impl<T: ?Sized> Rc<T> {
327
328
/// assert!(Rc::get_mut(&mut x).is_none());
328
329
/// ```
329
330
#[ inline]
330
- #[ unstable( feature = "rc_unique" ) ]
331
+ #[ unstable( feature = "rc_unique" , issue = "27718" ) ]
331
332
pub fn get_mut ( rc : & mut Rc < T > ) -> Option < & mut T > {
332
333
if Rc :: is_unique ( rc) {
333
334
let inner = unsafe { & mut * * rc. _ptr } ;
@@ -356,7 +357,7 @@ impl<T: Clone> Rc<T> {
356
357
/// let mut_five = five.make_unique();
357
358
/// ```
358
359
#[ inline]
359
- #[ unstable( feature = "rc_unique" ) ]
360
+ #[ unstable( feature = "rc_unique" , issue = "27718" ) ]
360
361
pub fn make_unique ( & mut self ) -> & mut T {
361
362
if !Rc :: is_unique ( self ) {
362
363
* self = Rc :: new ( ( * * self ) . clone ( ) )
@@ -653,7 +654,8 @@ impl<T> fmt::Pointer for Rc<T> {
653
654
/// See the [module level documentation](./index.html) for more.
654
655
#[ unsafe_no_drop_flag]
655
656
#[ unstable( feature = "rc_weak" ,
656
- reason = "Weak pointers may not belong in this module." ) ]
657
+ reason = "Weak pointers may not belong in this module." ,
658
+ issue = "27718" ) ]
657
659
pub struct Weak < T : ?Sized > {
658
660
// FIXME #12808: strange names to try to avoid interfering with
659
661
// field accesses of the contained type via Deref
@@ -666,7 +668,8 @@ impl<T: ?Sized> !marker::Sync for Weak<T> {}
666
668
impl < T : ?Sized +Unsize < U > , U : ?Sized > CoerceUnsized < Weak < U > > for Weak < T > { }
667
669
668
670
#[ unstable( feature = "rc_weak" ,
669
- reason = "Weak pointers may not belong in this module." ) ]
671
+ reason = "Weak pointers may not belong in this module." ,
672
+ issue = "27718" ) ]
670
673
impl < T : ?Sized > Weak < T > {
671
674
672
675
/// Upgrades a weak reference to a strong reference.
@@ -746,7 +749,8 @@ impl<T: ?Sized> Drop for Weak<T> {
746
749
}
747
750
748
751
#[ unstable( feature = "rc_weak" ,
749
- reason = "Weak pointers may not belong in this module." ) ]
752
+ reason = "Weak pointers may not belong in this module." ,
753
+ issue = "27718" ) ]
750
754
impl < T : ?Sized > Clone for Weak < T > {
751
755
752
756
/// Makes a clone of the `Weak<T>`.
0 commit comments