
2012/1/13 Ion Gaztañaga <igaztanaga@gmail.com>:
El 11/01/2012 18:29, Dan Ivy escribió: Forcing emulation would be easy, if you think it's useful, please fill a ticket so that I can remember that for the new version. Disabling move semantics it's a bit extrange I don't think it should be added without a good reason.
Forcing move emulation is something I personally found useful, and it seems to be *almost* as simple adding a || defined (BOOST_MOVE_USE_EMULATION). I am pretty indifferent about disabling move semantics, it's just something I though would be useful, so feel free to discard it. The scenario I had in mind is something like this: You recently added move ctors to some of your classes, and not long after things start to go wrong. You suspect that the newly added move ctors have something to do with it (after all, move constructors are usually pretty delicate), so you disable move semantics and see if things go back to normal. If they do, you know where to start looking for errors. Move semantics are, for the most part, an optimization (I can hear Jeffrey grunts :) ), and it's your reponsibility to get this optimization right. Just like compilers let you disable optimizations (and compiler-writers probably do this once or twice when testing new stuff), it seemed logical to me to be able to disable moving. But that's just a thought.