// PR c++/106784
// { dg-do compile { target c++11 } }
#define SA(X) static_assert((X),#X)
struct A { };
struct B { };
struct M {
  operator A();
  operator B() noexcept;
  M(const A&);
  M(const B&) noexcept;
};
SA(!__is_nothrow_convertible(A, M));
SA(!__is_nothrow_convertible(M, A));
SA(__is_nothrow_convertible(B, M));
SA(__is_nothrow_convertible(M, B));