Avoid asserting to llvm that C++ ptr type bits are fully occupied
For example if hypothetically any of std::unique_ptr or std::shared_ptr
or std::weak_ptr contained any padding bits in their representation,
manipulating any of them by value in Rust as if they were fully
initialized pointers would be UB.
diff --git a/src/weak_ptr.rs b/src/weak_ptr.rs
index e29d30e..2c06d36 100644
--- a/src/weak_ptr.rs
+++ b/src/weak_ptr.rs
@@ -16,7 +16,7 @@
where
T: WeakPtrTarget,
{
- repr: [*mut c_void; 2],
+ repr: [MaybeUninit<*mut c_void>; 2],
ty: PhantomData<T>,
}