summaryrefslogtreecommitdiffstats
path: root/src/test/ui/issues/issue-67039-unsound-pin-partialeq.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/issues/issue-67039-unsound-pin-partialeq.rs')
-rw-r--r--src/test/ui/issues/issue-67039-unsound-pin-partialeq.rs27
1 files changed, 0 insertions, 27 deletions
diff --git a/src/test/ui/issues/issue-67039-unsound-pin-partialeq.rs b/src/test/ui/issues/issue-67039-unsound-pin-partialeq.rs
deleted file mode 100644
index a496e58a7..000000000
--- a/src/test/ui/issues/issue-67039-unsound-pin-partialeq.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-// Pin's PartialEq implementation allowed to access the pointer allowing for
-// unsoundness by using Rc::get_mut to move value within Rc.
-// See https://internals.rust-lang.org/t/unsoundness-in-pin/11311/73 for more details.
-
-use std::ops::Deref;
-use std::pin::Pin;
-use std::rc::Rc;
-
-struct Apple;
-
-impl Deref for Apple {
- type Target = Apple;
- fn deref(&self) -> &Apple {
- &Apple
- }
-}
-
-impl PartialEq<Rc<Apple>> for Apple {
- fn eq(&self, _rc: &Rc<Apple>) -> bool {
- unreachable!()
- }
-}
-
-fn main() {
- let _ = Pin::new(Apple) == Rc::pin(Apple);
- //~^ ERROR type mismatch resolving
-}