https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78198
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
Minimizer test-case:
class A { };
class D;
template<typename > using UniquePtr = A;
struct C {
typedef UniquePtr<D> SingleObject;
};
template<typename , typename... Args> C::SingleObject MakeUnique(Args... aArgs)
{
D(aArgs...);
}
class B { };
template<typename AllocPolicy> class BufferList {
public:
BufferList(unsigned, unsigned, unsigned, AllocPolicy = AllocPolicy());
};
class D : BufferList<B> {
BufferList::BufferList;
};
UniquePtr<D> setCloneBuffer_impl_buf = MakeUnique<D>(0, 0, 0);