https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100877
Steven Sun <StevenSun2021 at hotmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |StevenSun2021 at hotmail dot com --- Comment #2 from Steven Sun <StevenSun2021 at hotmail dot com> --- Feng use a non-exist member in your definition of -------------------- template< Expression Ex, Place_Holder Ph, Expression Ey > auto replace_placeholder_with_expression( Ex const& ex, Ph const& old_place_holder, Ey const& new_expression ) -------------------- namely `ex.reset_action_`. It the one and only bug in your code. It compiles in a few seconds after being fixed. CONCLUSION: No bug in GCC but a stupid bug in Feng's code. But interestingly, GCC eats so much memory to dump an error message involving lambdas, template lambdas, and templates (eats 20G in my desktop, >400G in Feng's cluster).