# V1030. Variable is used after it is moved.

The analyzer has detected a variable that is being used after a move operation.

    std::string s1;
    std::string s2;
    ....
    s2 = std::move(s1);
    return s1.size();

When moved, a variable is existing in an unspecified yet valid state, which still allows calling the destructor on it. Assuming that objects in your programs are in this state is unsafe, except for a number of classes such as 'std::unique_ptr' whose behavior is well-defined.

This diagnostic is classified as:

CERT-EXP63-CPP