https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70342
--- Comment #7 from Marek Polacek <mpolacek at gcc dot gnu.org> --- There's some non-linearity. This compiles in 25s, if I add another "<< A()" then in 55s, if I add another "<< A()" then in 1m50s etc. class A {}; class B { public: B(A); }; class C { public: C operator<<(B); }; class D { D(const int &); C m_blackList; }; D::D(const int &) { m_blackList << A() << A() << A() << A() << A() << A() << A() << A() << A() << A() << A() << A() << A() << A() << A() << A() << A() << A() << A() << A() << A() << A() << A(); }