@@ -538,7 +538,7 @@ impl<T> fmt::Pointer for Unique<T> {
538
538
/// building abstractions like `Rc<T>` or `Arc<T>`, which internally
539
539
/// use raw pointers to manage the memory that they own.
540
540
#[ unstable( feature = "shared" , reason = "needs an RFC to flesh out design" ,
541
- issue = "0 " ) ]
541
+ issue = "27730 " ) ]
542
542
pub struct Shared < T : ?Sized > {
543
543
pointer : NonZero < * const T > ,
544
544
// NOTE: this marker has no consequences for variance, but is necessary
@@ -551,37 +551,37 @@ pub struct Shared<T: ?Sized> {
551
551
552
552
/// `Shared` pointers are not `Send` because the data they reference may be aliased.
553
553
// NB: This impl is unnecessary, but should provide better error messages.
554
- #[ unstable( feature = "shared" , issue = "0 " ) ]
554
+ #[ unstable( feature = "shared" , issue = "27730 " ) ]
555
555
impl < T : ?Sized > !Send for Shared < T > { }
556
556
557
557
/// `Shared` pointers are not `Sync` because the data they reference may be aliased.
558
558
// NB: This impl is unnecessary, but should provide better error messages.
559
- #[ unstable( feature = "shared" , issue = "0 " ) ]
559
+ #[ unstable( feature = "shared" , issue = "27730 " ) ]
560
560
impl < T : ?Sized > !Sync for Shared < T > { }
561
561
562
- #[ unstable( feature = "shared" , issue = "0 " ) ]
562
+ #[ unstable( feature = "shared" , issue = "27730 " ) ]
563
563
impl < T : ?Sized > Shared < T > {
564
564
/// Creates a new `Shared`.
565
565
pub unsafe fn new ( ptr : * mut T ) -> Self {
566
566
Shared { pointer : NonZero :: new ( ptr) , _marker : PhantomData }
567
567
}
568
568
}
569
569
570
- #[ unstable( feature = "shared" , issue = "0 " ) ]
570
+ #[ unstable( feature = "shared" , issue = "27730 " ) ]
571
571
impl < T : ?Sized > Clone for Shared < T > {
572
572
fn clone ( & self ) -> Self {
573
573
* self
574
574
}
575
575
}
576
576
577
- #[ unstable( feature = "shared" , issue = "0 " ) ]
577
+ #[ unstable( feature = "shared" , issue = "27730 " ) ]
578
578
impl < T : ?Sized > Copy for Shared < T > { }
579
579
580
580
#[ cfg( not( stage0) ) ] // remove cfg after new snapshot
581
- #[ unstable( feature = "shared" , issue = "0 " ) ]
581
+ #[ unstable( feature = "shared" , issue = "27730 " ) ]
582
582
impl < T : ?Sized , U : ?Sized > CoerceUnsized < Shared < U > > for Shared < T > where T : Unsize < U > { }
583
583
584
- #[ unstable( feature = "shared" , issue = "0 " ) ]
584
+ #[ unstable( feature = "shared" , issue = "27730 " ) ]
585
585
impl < T : ?Sized > Deref for Shared < T > {
586
586
type Target = * mut T ;
587
587
@@ -591,7 +591,7 @@ impl<T: ?Sized> Deref for Shared<T> {
591
591
}
592
592
}
593
593
594
- #[ unstable( feature = "shared" , issue = "0 " ) ]
594
+ #[ unstable( feature = "shared" , issue = "27730 " ) ]
595
595
impl < T > fmt:: Pointer for Shared < T > {
596
596
fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
597
597
fmt:: Pointer :: fmt ( & * self . pointer , f)
0 commit comments