We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent d9e6c57 commit 6209876Copy full SHA for 6209876
1 file changed
libcc2rs/src/rc.rs
@@ -1269,4 +1269,25 @@ mod tests {
1269
1270
p.delete();
1271
}
1272
+
1273
+ #[test]
1274
+ fn anyptr_null_cast() {
1275
+ let any = Ptr::<()>::null().to_any();
1276
+ let p: Option<Ptr<u32>> = any.cast::<u32>();
1277
+ assert!(p.is_some());
1278
+ assert!(p.unwrap().is_null());
1279
1280
+ let p2: Option<Ptr<u8>> = any.cast::<u8>();
1281
+ assert!(p2.is_some());
1282
+ assert!(p2.unwrap().is_null());
1283
+ }
1284
1285
1286
+ fn to_any_without_clone() {
1287
+ let p: Ptr<std::fs::File> = Ptr::null(); // std::fs::File is not Clone
1288
+ let any = p.to_any();
1289
+ let recovered = any.cast::<std::fs::File>();
1290
+ assert!(recovered.is_some());
1291
+ assert!(recovered.unwrap().is_null());
1292
1293
0 commit comments