Por que precisamos definir a referência rvalue como null no construtor move?

//code from https://skillsmatter.com/skillscasts/2188-move-semanticsperfect-forwarding-and-rvalue-references
class Widget {
public:
    Widget(Widget&& rhs)
        : pds(rhs.pds) // take source’s value
    { 
        rhs.pds = nullptr;  // why??
    }

private:
    struct DataStructure;
    DataStructure *pds;
};

Não consigo entender o motivo da configuraçãorhd.pds paranullptr .

O que acontecerá se removermos esta linha:rhs.pds = nullptr;

questionAnswers(3)

yourAnswerToTheQuestion