File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -1550,18 +1550,19 @@ impl From<BytesMut> for Vec<u8> {
1550
1550
rebuild_vec ( bytes. ptr . as_ptr ( ) , bytes. len , bytes. cap , off)
1551
1551
}
1552
1552
} else if kind == KIND_ARC {
1553
- let shared = unsafe { & mut * ( bytes. data as * mut Shared ) } ;
1554
- if shared. is_unique ( ) {
1555
- let vec = mem:: replace ( & mut shared. vec , Vec :: new ( ) ) ;
1553
+ let shared = bytes. data as * mut Shared ;
1554
+
1555
+ if unsafe { ( * shared) . is_unique ( ) } {
1556
+ let vec = mem:: replace ( unsafe { & mut ( * shared) . vec } , Vec :: new ( ) ) ;
1556
1557
1557
1558
unsafe { release_shared ( shared) } ;
1558
1559
1559
1560
vec
1560
1561
} else {
1561
- return bytes. deref ( ) . into ( ) ;
1562
+ return bytes. deref ( ) . to_vec ( ) ;
1562
1563
}
1563
1564
} else {
1564
- return bytes. deref ( ) . into ( ) ;
1565
+ return bytes. deref ( ) . to_vec ( ) ;
1565
1566
} ;
1566
1567
1567
1568
let len = bytes. len ;
You can’t perform that action at this time.
0 commit comments