// { dg-do compile { target c++11 } } #include class A { public: A(int a, int& b, int&& c) : m_a{a}, m_b{b}, m_c{std::move(c)} {} private: int m_a; int& m_b; int&& m_c; }; struct X {}; class B { public: B(X& q, X&& r, const X& s) : m_q{q}, m_r{std::move(r)}, m_s{s} {} private: X& m_q; X&& m_r; const X& m_s; };