Weak should have a move constructor and move assignment operator