File tree Expand file tree Collapse file tree 5 files changed +21
-4
lines changed Expand file tree Collapse file tree 5 files changed +21
-4
lines changed Original file line number Diff line number Diff line change 1+ digraph {
2+ Deref [shape =box ]
3+ Deref -> DerefMut
4+ Deref -> StableDeref
5+ Deref -> Own
6+ Deref -> Share
7+ DerefMut [shape =box ]
8+ DerefMut -> StableDerefMut
9+ Clone [shape =box ]
10+ Clone -> Share
11+ StableDeref -> StableDerefMut
12+ }
Original file line number Diff line number Diff line change 1+ digraph {
2+ stable_deref -> anchor_type
3+ pin_and_move -> anchor_type
4+ pin_and_move -> stack_pinning
5+ }
Original file line number Diff line number Diff line change @@ -186,7 +186,7 @@ struct Anchor<T> {
186186 ptr: T,
187187}
188188
189- impl<T: StableDeref + Own> Anchor<T> {
189+ impl<T: StableDerefMut + Own> Anchor<T> {
190190 pub fn new(ptr: T) -> Anchor<T>;
191191
192192 pub unsafe fn get_mut(this: &mut Anchor<T>) -> &mut T;
@@ -196,15 +196,15 @@ impl<T: StableDeref + Own> Anchor<T> {
196196 pub fn pin<'a>(this: &'a mut Anchor<T>) -> Pin<'a, T::Target>;
197197}
198198
199- impl<T: StableDeref + Own> Anchor<T> where T::Target: Move {
199+ impl<T: StableDerefMut + Own> Anchor<T> where T::Target: Move {
200200 pub fn into_inner(this: Anchor<T>) -> T;
201201}
202202
203- impl<T: StableDeref + Own> Deref for Anchor<T> {
203+ impl<T: StableDerefMut + Own> Deref for Anchor<T> {
204204 type Target = T;
205205}
206206
207- impl<T: StableDeref + Own> DerefMut for Anchor<T> where T::Target: Move { }
207+ impl<T: StableDerefMut + Own> DerefMut for Anchor<T> where T::Target: Move { }
208208```
209209
210210Because `Anchor` implements `StableDeref` and `Own`, and it is not safe to get
You can’t perform that action at this time.
0 commit comments