https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98056
Bug ID: 98056 Summary: internal compiler error: tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.c:9862 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: lemourin at gmail dot com Target Milestone: --- Created attachment 49647 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49647&action=edit preprocessor output; compressed The attached .ii file causes: internal compiler error: tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.c:9862 The compiler used is built at head (commit f59be8dfbd85..) with default configure flags on Ubuntu 20.04 running in WSL 1. Same issue occurs with g++-10, g++-9 shipped with the distro. The compiler flags used: -fcoroutines -std=gnu++2a Same code works well on latest clang and msvc. The issue can be worked around by modifying calls to util::FetchJson in GoogleDrive class in a way: util::FetchJson(Request<>{ ... }, ...) change to auto request = ...; util::FetchJson(std::move(request), ...)