Hi,

        I noticed that both in 2.6.1 and current trunk (cabc88f) the move 
constructor for the slot is not selected by the compiler (gcc 4.9 and 4.8.4 
tried) even in the most trivial case. Take test_slot_move.cc unit test for 
example:

sigc::slot<void,int> s2(std::move(s1));

If you now do (bool)s1 it will evaluate to 'true'. Also s1() works and calls 
foo() as if s1 wasn't moved to s2. I tried to add traces to slot1 copy and move 
constructors and indeed only copy constructor is called, but not move. So, 
something is wrong here - either compiler bug (unlikely) or some code in the 
slot/slot_base/functor_base prevents compiler from selecting move semantics for 
constructor.

BR, Andrey
_______________________________________________
libsigc-list mailing list
libsigc-list@gnome.org
https://mail.gnome.org/mailman/listinfo/libsigc-list

Reply via email to