// { dg-do compile { target c++11 } }
#include <utility>
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;
};