@@ -3583,18 +3583,13 @@ impl<T: ObjectType> PartialOrd for WeakRef<T> {
3583
3583
/// where it was created on will panic but dropping or cloning can be done
3584
3584
/// safely from any thread.
3585
3585
#[ derive( Debug ) ]
3586
- pub struct SendWeakRef < T : ObjectType > ( WeakRef < T > , Option < usize > ) ;
3586
+ pub struct SendWeakRef < T : ObjectType > ( WeakRef < T > , usize ) ;
3587
3587
3588
3588
impl < T : ObjectType > SendWeakRef < T > {
3589
- #[ inline]
3590
- pub fn new ( ) -> SendWeakRef < T > {
3591
- SendWeakRef ( WeakRef :: new ( ) , None )
3592
- }
3593
-
3594
3589
#[ inline]
3595
3590
pub fn into_weak_ref ( self ) -> WeakRef < T > {
3596
3591
assert ! (
3597
- self . 1 . is_none ( ) || self . 1 == Some ( thread_id( ) ) ,
3592
+ self . 1 == thread_id( ) ,
3598
3593
"SendWeakRef dereferenced on a different thread" ,
3599
3594
) ;
3600
3595
@@ -3608,7 +3603,7 @@ impl<T: ObjectType> ops::Deref for SendWeakRef<T> {
3608
3603
#[ inline]
3609
3604
fn deref ( & self ) -> & WeakRef < T > {
3610
3605
assert ! (
3611
- self . 1 . is_none ( ) || self . 1 == Some ( thread_id( ) ) ,
3606
+ self . 1 == thread_id( ) ,
3612
3607
"SendWeakRef dereferenced on a different thread"
3613
3608
) ;
3614
3609
@@ -3627,14 +3622,14 @@ impl<T: ObjectType> Clone for SendWeakRef<T> {
3627
3622
impl < T : ObjectType > Default for SendWeakRef < T > {
3628
3623
#[ inline]
3629
3624
fn default ( ) -> Self {
3630
- Self :: new ( )
3625
+ Self :: from ( WeakRef :: new ( ) )
3631
3626
}
3632
3627
}
3633
3628
3634
3629
impl < T : ObjectType > From < WeakRef < T > > for SendWeakRef < T > {
3635
3630
#[ inline]
3636
3631
fn from ( v : WeakRef < T > ) -> SendWeakRef < T > {
3637
- SendWeakRef ( v, Some ( thread_id ( ) ) )
3632
+ SendWeakRef ( v, thread_id ( ) )
3638
3633
}
3639
3634
}
3640
3635
0 commit comments