File tree Expand file tree Collapse file tree 2 files changed +7
-7
lines changed
Expand file tree Collapse file tree 2 files changed +7
-7
lines changed Original file line number Diff line number Diff line change @@ -962,7 +962,7 @@ struct curlFileTransfer : public FileTransfer
962962 writeFull (wakeupPipe.writeSide .get (), " " );
963963#endif
964964
965- return ItemHandle (static_cast <Item &>(* item));
965+ return ItemHandle (ref <Item>( std::move ( item) ));
966966 }
967967
968968 ItemHandle
@@ -977,7 +977,7 @@ struct curlFileTransfer : public FileTransfer
977977 return enqueueItem (item);
978978 } catch (const nix::Error & e) {
979979 item->fail (e);
980- return ItemHandle (static_cast <Item &>(* item));
980+ return ItemHandle (ref <Item>( std::move ( item) ));
981981 }
982982 }
983983
@@ -986,7 +986,7 @@ struct curlFileTransfer : public FileTransfer
986986 return enqueueItem (item);
987987 } catch (const nix::Error & e) {
988988 item->fail (e);
989- return ItemHandle (static_cast <Item &>(* item));
989+ return ItemHandle (ref <Item>( std::move ( item) ));
990990 }
991991 }
992992
@@ -1001,7 +1001,7 @@ struct curlFileTransfer : public FileTransfer
10011001
10021002 void unpauseTransfer (ItemHandle handle) override
10031003 {
1004- unpauseTransfer (ref{static_cast <TransferItem &>(handle.item . get () ).shared_from_this ()});
1004+ unpauseTransfer (ref{static_cast <TransferItem &>(* handle.item ).shared_from_this ()});
10051005 }
10061006};
10071007
Original file line number Diff line number Diff line change @@ -262,11 +262,11 @@ public:
262262 */
263263 struct ItemHandle
264264 {
265- std::reference_wrapper <Item> item;
265+ ref <Item> item;
266266 friend struct FileTransfer ;
267267
268- ItemHandle (Item & item)
269- : item(item)
268+ explicit ItemHandle (ref< Item> item)
269+ : item(std::move( item) )
270270 {
271271 }
272272 };
You can’t perform that action at this time.
0 commit comments