4 ms·
I was wondering if anybody was going to point that out. It did occur to me that the CHECK was not technically valid due to that exact concern, but given that we
by brucedawson 4y ago
I was wondering if anybody was going to point that out. It did occur to me that the CHECK was not technically valid due to that exact concern, but given that we control the compiler and the C++ library implementation and given that it's just debugging code (albeit debugging code that we ship to users) I'm fine with it.
In other words, I guess you shouldn't oughta do that generally, but I was fine with it being used there, and it did its job.
- brucedawson 4y agoIt appears that the question of what is valid on a moved-from object is tricky. Here is one discussion: https://stackoverflow.com/questions/7027523/what-can-i-do-with-a-moved-from-object/7028318#7028318 https://stackoverflow.com/questions/7027523/what-can-i-do-wi... FWIW, here is the move operator for the type of the object in question: https://source.chromium.org/chromium/chromium/src/+/main:base/task/thread_pool/task_source.h;l=257;bpv=1;bpt=1?q=RegisteredTaskSource https://source.chromium.org/chromium/chromium/src/+/main:bas...
- account42 4y agoNote that the linked discussion is about the standard library. For your own types you can make whatever guarantees you want - ultimately as far as the language is concerned, moves are a function call like any other.