Как я могу сказать "noexcept, если выполнение защищенного базового конструктора не является исключением"?

У нас была такая ситуация и мы задавались вопросом о том, как это исправить.

template<typename T>
struct A : T {
  A(T &&t) noexcept(noexcept(T(std::move(t))))
     :T(std::move(t))
  { }
};

Это, к сожалению, не удается скомпилировать, поскольку конструктор перемещения T защищен, и нам разрешено вызывать его только в списке инициализации конструктора для *this. Каковы обходные пути для выполнения этой работы или есть даже стандартный способ для этого?