https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97358
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The original Firefox problematic template is: template <typename... SpecialValueMappers> ErrorResult ExtractErrorResult(SpecialValueMappers... aSpecialValueMappers) { return mVariant.match( [](ErrorResult& aException) { return std::move(aException); }, [aSpecialValueMappers...](const SpecialConstant<S>& aSpecialValue) { return ErrorResult{aSpecialValueMappers(aSpecialValue)}; }...); } The ICE is because a local specialization for the capture proxy has not been registered.