about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2023-09-09 13:05:12 +0200
committerRalf Jung <post@ralfj.de>2023-09-12 07:27:17 +0200
commit6f2c051aba7d40b260ec6de4298f801164f569e4 (patch)
tree48b1f5909caa385b4ed0c35b8f6869b7bb77e2c8
parent4f606eb423b0fcbd68e1b72325fcd0f42bf740b2 (diff)
downloadrust-6f2c051aba7d40b260ec6de4298f801164f569e4.tar.gz
rust-6f2c051aba7d40b260ec6de4298f801164f569e4.zip
add some DispatchFromDyn ABI compatibility tests
-rw-r--r--tests/ui/abi/compatibility.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/ui/abi/compatibility.rs b/tests/ui/abi/compatibility.rs
index 8b7236bf42f..b3e75bb8233 100644
--- a/tests/ui/abi/compatibility.rs
+++ b/tests/ui/abi/compatibility.rs
@@ -85,6 +85,11 @@ test_abi_compatible!(zst_unit, Zst, ());
 test_abi_compatible!(zst_array, Zst, [u8; 0]);
 test_abi_compatible!(nonzero_int, NonZeroI32, i32);
 
+// `DispatchFromDyn` relies on ABI compatibility.
+// This is interesting since these types are not `repr(transparent)`.
+test_abi_compatible!(rc, std::rc::Rc<i32>, *mut i32);
+test_abi_compatible!(arc, std::sync::Arc<i32>, *mut i32);
+
 // `repr(transparent)` compatibility.
 #[repr(transparent)]
 struct Wrapper1<T: ?Sized>(T);