title: Cannot put QAbstractListModel object as one class's property
body: <p>My code looks like so:</p>
  
  <pre><code>class Wrapper: public QObject {
    Q_OBJECT
    Q_PROPERTY(PeopleListModel &amp; list READ list)
  public:
    PeopleListModel &amp; list() {
      return list_;
    }  
  
  private:
    PeopleListModel list_;  
  };
  </code></pre>
  
  <p>And PeopleListModel is a subclass of QAbstractListModel.</p>
  
  <p>But I got compilation error:</p>
  
  <pre><code>       ^
  In file included from plugin.cpp:131:0:
  plugin.moc: In member function ‘virtual int Wrapper::qt_metacall(QMetaObject::Call, int, void**)’:
  plugin.moc:184:52: error: cannot declare pointer to ‘class PeopleListModel&amp;’
           case 0: *reinterpret_cast&lt; PeopleListModel&amp;*&gt;(_v) = list(); break;
                                                      ^
  In file included from ../../../../Qt5.2.0/5.2.0/gcc_64/include/QtCore/qnamespace.h:45:0,
                   from ../../../../Qt5.2.0/5.2.0/gcc_64/include/QtCore/qobjectdefs.h:45,
                   from ../../../../Qt5.2.0/5.2.0/gcc_64/include/QtCore/qobject.h:48,
                   from ../../../../Qt5.2.0/5.2.0/gcc_64/include/QtCore/qplugin.h:45,
                   from ../../../../Qt5.2.0/5.2.0/gcc_64/include/QtQml/qqmlextensionplugin.h:45,
                   from ../../../../Qt5.2.0/5.2.0/gcc_64/include/QtQml/QQmlExtensionPlugin:1,
                   from plugin.cpp:1:
  ../../../../Qt5.2.0/5.2.0/gcc_64/include/QtCore/qabstractitemmodel.h: In member function ‘PeopleListModel&amp; PeopleListModel::operator=(const PeopleListModel&amp;)’:
  ../../../../Qt5.2.0/5.2.0/gcc_64/include/QtCore/qglobal.h:967:12: error: ‘QAbstractListModel&amp; QAbstractListModel::operator=(const QAbstractListModel&amp;)’ is private
       Class &amp;operator=(const Class &amp;) Q_DECL_EQ_DELETE;
              ^
  ../../../../Qt5.2.0/5.2.0/gcc_64/include/QtCore/qabstractitemmodel.h:479:5: note: in expansion of macro ‘Q_DISABLE_COPY’
       Q_DISABLE_COPY(QAbstractListModel)
       ^
  plugin.cpp:32:7: error: within this context
   class PeopleListModel : public QAbstractListModel {
         ^
  In file included from plugin.cpp:131:0:
  plugin.moc: In member function ‘virtual int Wrapper::qt_metacall(QMetaObject::Call, int, void**)’:
  plugin.moc:184:59: note: synthesized method ‘PeopleListModel&amp; PeopleListModel::operator=(const PeopleListModel&amp;)’ first required here 
           case 0: *reinterpret_cast&lt; PeopleListModel&amp;*&gt;(_v) = list(); break;
                                                             ^
  make: *** [plugin.o] Error 1
  </code></pre>