It's necessary for User::loadFromRow() to set $this->mGroups to null, same as the calling code in User::loadFromDatabase(), so that they will be loaded dynamically when User::newFromRow() is called.
No bugs found that are caused by this but it couldn't hurt to have working accessors. Tested from eval.php.
public function loadFromRow( $row ) {
$all = true;
+ $this->mGroups = null; // deferred
+
if ( isset( $row->user_name ) ) {
$this->mName = $row->user_name;
$this->mFrom = 'name';
*/
public function getGroups() {
$this->load();
+ $this->loadGroups();
return $this->mGroups;
}