https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113908
Bug ID: 113908 Summary: [14 Regression] bogus access error with new-expr of current non-template class with implicitly deleted copy ctor Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ppalka at gcc dot gnu.org Target Milestone: --- struct B { B() = default; private: B(const B&); }; struct A { B b; template<class T> static void f() { new A(); } }; int main() { A::f<int>(); } <stdin>: In instantiation of ‘static void A::f() [with T = int]’: <stdin>:15:12: required from here <stdin>:11:27: error: ‘B::B(const B&)’ is private within this context <stdin>:4:3: note: declared private here <stdin>:11:27: error: ‘B::B(const B&)’ is private within this context <stdin>:4:3: note: declared private here