@@ -1046,7 +1046,7 @@ unsafe impl<O, T: ?Sized> Send for OwningRefMut<O, T>
1046
1046
unsafe impl < O , T : ?Sized > Sync for OwningRefMut < O , T >
1047
1047
where O : Sync , for < ' a > ( & ' a mut T ) : Sync { }
1048
1048
1049
- impl Debug for Erased {
1049
+ impl Debug for dyn Erased {
1050
1050
fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
1051
1051
write ! ( f, "<Erased>" , )
1052
1052
}
@@ -1166,35 +1166,35 @@ pub type MutexGuardRefMut<'a, T, U = T> = OwningRefMut<MutexGuard<'a, T>, U>;
1166
1166
pub type RwLockWriteGuardRefMut < ' a , T , U = T > = OwningRef < RwLockWriteGuard < ' a , T > , U > ;
1167
1167
1168
1168
unsafe impl < ' a , T : ' a > IntoErased < ' a > for Box < T > {
1169
- type Erased = Box < Erased + ' a > ;
1169
+ type Erased = Box < dyn Erased + ' a > ;
1170
1170
fn into_erased ( self ) -> Self :: Erased {
1171
1171
self
1172
1172
}
1173
1173
}
1174
1174
unsafe impl < ' a , T : ' a > IntoErased < ' a > for Rc < T > {
1175
- type Erased = Rc < Erased + ' a > ;
1175
+ type Erased = Rc < dyn Erased + ' a > ;
1176
1176
fn into_erased ( self ) -> Self :: Erased {
1177
1177
self
1178
1178
}
1179
1179
}
1180
1180
unsafe impl < ' a , T : ' a > IntoErased < ' a > for Arc < T > {
1181
- type Erased = Arc < Erased + ' a > ;
1181
+ type Erased = Arc < dyn Erased + ' a > ;
1182
1182
fn into_erased ( self ) -> Self :: Erased {
1183
1183
self
1184
1184
}
1185
1185
}
1186
1186
1187
1187
unsafe impl < ' a , T : Send + ' a > IntoErasedSend < ' a > for Box < T > {
1188
- type Erased = Box < Erased + Send + ' a > ;
1188
+ type Erased = Box < dyn Erased + Send + ' a > ;
1189
1189
fn into_erased_send ( self ) -> Self :: Erased {
1190
1190
self
1191
1191
}
1192
1192
}
1193
1193
1194
1194
unsafe impl < ' a , T : Send + ' a > IntoErasedSendSync < ' a > for Box < T > {
1195
- type Erased = Box < Erased + Sync + Send + ' a > ;
1195
+ type Erased = Box < dyn Erased + Sync + Send + ' a > ;
1196
1196
fn into_erased_send_sync ( self ) -> Self :: Erased {
1197
- let result: Box < Erased + Send + ' a > = self ;
1197
+ let result: Box < dyn Erased + Send + ' a > = self ;
1198
1198
// This is safe since Erased can always implement Sync
1199
1199
// Only the destructor is available and it takes &mut self
1200
1200
unsafe {
@@ -1204,21 +1204,21 @@ unsafe impl<'a, T: Send + 'a> IntoErasedSendSync<'a> for Box<T> {
1204
1204
}
1205
1205
1206
1206
unsafe impl < ' a , T : Send + Sync + ' a > IntoErasedSendSync < ' a > for Arc < T > {
1207
- type Erased = Arc < Erased + Send + Sync + ' a > ;
1207
+ type Erased = Arc < dyn Erased + Send + Sync + ' a > ;
1208
1208
fn into_erased_send_sync ( self ) -> Self :: Erased {
1209
1209
self
1210
1210
}
1211
1211
}
1212
1212
1213
1213
/// Typedef of a owning reference that uses an erased `Box` as the owner.
1214
- pub type ErasedBoxRef < U > = OwningRef < Box < Erased > , U > ;
1214
+ pub type ErasedBoxRef < U > = OwningRef < Box < dyn Erased > , U > ;
1215
1215
/// Typedef of a owning reference that uses an erased `Rc` as the owner.
1216
- pub type ErasedRcRef < U > = OwningRef < Rc < Erased > , U > ;
1216
+ pub type ErasedRcRef < U > = OwningRef < Rc < dyn Erased > , U > ;
1217
1217
/// Typedef of a owning reference that uses an erased `Arc` as the owner.
1218
- pub type ErasedArcRef < U > = OwningRef < Arc < Erased > , U > ;
1218
+ pub type ErasedArcRef < U > = OwningRef < Arc < dyn Erased > , U > ;
1219
1219
1220
1220
/// Typedef of a mutable owning reference that uses an erased `Box` as the owner.
1221
- pub type ErasedBoxRefMut < U > = OwningRefMut < Box < Erased > , U > ;
1221
+ pub type ErasedBoxRefMut < U > = OwningRefMut < Box < dyn Erased > , U > ;
1222
1222
1223
1223
#[ cfg( test) ]
1224
1224
mod tests {
@@ -1443,8 +1443,8 @@ mod tests {
1443
1443
let c: OwningRef < Rc < Vec < u8 > > , [ u8 ] > = unsafe { a. map_owner ( Rc :: new) } ;
1444
1444
let d: OwningRef < Rc < Box < [ u8 ] > > , [ u8 ] > = unsafe { b. map_owner ( Rc :: new) } ;
1445
1445
1446
- let e: OwningRef < Rc < Erased > , [ u8 ] > = c. erase_owner ( ) ;
1447
- let f: OwningRef < Rc < Erased > , [ u8 ] > = d. erase_owner ( ) ;
1446
+ let e: OwningRef < Rc < dyn Erased > , [ u8 ] > = c. erase_owner ( ) ;
1447
+ let f: OwningRef < Rc < dyn Erased > , [ u8 ] > = d. erase_owner ( ) ;
1448
1448
1449
1449
let _g = e. clone ( ) ;
1450
1450
let _h = f. clone ( ) ;
@@ -1460,16 +1460,16 @@ mod tests {
1460
1460
let c: OwningRef < Box < Vec < u8 > > , [ u8 ] > = a. map_owner_box ( ) ;
1461
1461
let d: OwningRef < Box < Box < [ u8 ] > > , [ u8 ] > = b. map_owner_box ( ) ;
1462
1462
1463
- let _e: OwningRef < Box < Erased > , [ u8 ] > = c. erase_owner ( ) ;
1464
- let _f: OwningRef < Box < Erased > , [ u8 ] > = d. erase_owner ( ) ;
1463
+ let _e: OwningRef < Box < dyn Erased > , [ u8 ] > = c. erase_owner ( ) ;
1464
+ let _f: OwningRef < Box < dyn Erased > , [ u8 ] > = d. erase_owner ( ) ;
1465
1465
}
1466
1466
1467
1467
#[ test]
1468
1468
fn try_map1 ( ) {
1469
1469
use std:: any:: Any ;
1470
1470
1471
1471
let x = Box :: new ( 123_i32 ) ;
1472
- let y: Box < Any > = x;
1472
+ let y: Box < dyn Any > = x;
1473
1473
1474
1474
OwningRef :: new ( y) . try_map ( |x| x. downcast_ref :: < i32 > ( ) . ok_or ( ( ) ) ) . is_ok ( ) ;
1475
1475
}
@@ -1479,7 +1479,7 @@ mod tests {
1479
1479
use std:: any:: Any ;
1480
1480
1481
1481
let x = Box :: new ( 123_i32 ) ;
1482
- let y: Box < Any > = x;
1482
+ let y: Box < dyn Any > = x;
1483
1483
1484
1484
OwningRef :: new ( y) . try_map ( |x| x. downcast_ref :: < i32 > ( ) . ok_or ( ( ) ) ) . is_err ( ) ;
1485
1485
}
@@ -1843,8 +1843,8 @@ mod tests {
1843
1843
let c: OwningRefMut < Box < Vec < u8 > > , [ u8 ] > = unsafe { a. map_owner ( Box :: new) } ;
1844
1844
let d: OwningRefMut < Box < Box < [ u8 ] > > , [ u8 ] > = unsafe { b. map_owner ( Box :: new) } ;
1845
1845
1846
- let _e: OwningRefMut < Box < Erased > , [ u8 ] > = c. erase_owner ( ) ;
1847
- let _f: OwningRefMut < Box < Erased > , [ u8 ] > = d. erase_owner ( ) ;
1846
+ let _e: OwningRefMut < Box < dyn Erased > , [ u8 ] > = c. erase_owner ( ) ;
1847
+ let _f: OwningRefMut < Box < dyn Erased > , [ u8 ] > = d. erase_owner ( ) ;
1848
1848
}
1849
1849
1850
1850
#[ test]
@@ -1857,16 +1857,16 @@ mod tests {
1857
1857
let c: OwningRefMut < Box < Vec < u8 > > , [ u8 ] > = a. map_owner_box ( ) ;
1858
1858
let d: OwningRefMut < Box < Box < [ u8 ] > > , [ u8 ] > = b. map_owner_box ( ) ;
1859
1859
1860
- let _e: OwningRefMut < Box < Erased > , [ u8 ] > = c. erase_owner ( ) ;
1861
- let _f: OwningRefMut < Box < Erased > , [ u8 ] > = d. erase_owner ( ) ;
1860
+ let _e: OwningRefMut < Box < dyn Erased > , [ u8 ] > = c. erase_owner ( ) ;
1861
+ let _f: OwningRefMut < Box < dyn Erased > , [ u8 ] > = d. erase_owner ( ) ;
1862
1862
}
1863
1863
1864
1864
#[ test]
1865
1865
fn try_map1 ( ) {
1866
1866
use std:: any:: Any ;
1867
1867
1868
1868
let x = Box :: new ( 123_i32 ) ;
1869
- let y: Box < Any > = x;
1869
+ let y: Box < dyn Any > = x;
1870
1870
1871
1871
OwningRefMut :: new ( y) . try_map_mut ( |x| x. downcast_mut :: < i32 > ( ) . ok_or ( ( ) ) ) . is_ok ( ) ;
1872
1872
}
@@ -1876,7 +1876,7 @@ mod tests {
1876
1876
use std:: any:: Any ;
1877
1877
1878
1878
let x = Box :: new ( 123_i32 ) ;
1879
- let y: Box < Any > = x;
1879
+ let y: Box < dyn Any > = x;
1880
1880
1881
1881
OwningRefMut :: new ( y) . try_map_mut ( |x| x. downcast_mut :: < i32 > ( ) . ok_or ( ( ) ) ) . is_err ( ) ;
1882
1882
}
@@ -1886,7 +1886,7 @@ mod tests {
1886
1886
use std:: any:: Any ;
1887
1887
1888
1888
let x = Box :: new ( 123_i32 ) ;
1889
- let y: Box < Any > = x;
1889
+ let y: Box < dyn Any > = x;
1890
1890
1891
1891
OwningRefMut :: new ( y) . try_map ( |x| x. downcast_ref :: < i32 > ( ) . ok_or ( ( ) ) ) . is_ok ( ) ;
1892
1892
}
@@ -1896,7 +1896,7 @@ mod tests {
1896
1896
use std:: any:: Any ;
1897
1897
1898
1898
let x = Box :: new ( 123_i32 ) ;
1899
- let y: Box < Any > = x;
1899
+ let y: Box < dyn Any > = x;
1900
1900
1901
1901
OwningRefMut :: new ( y) . try_map ( |x| x. downcast_ref :: < i32 > ( ) . ok_or ( ( ) ) ) . is_err ( ) ;
1902
1902
}
0 commit comments