http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25466
--- Comment #11 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-11-01 11:53:26 UTC --- I see, thanks Daniel for the additional analysis. Indeed, I can confirm that with the operator+ return type fixed, ICC doesn't throw either. Now I guess it's my job to figure out the minimal change getting us the desired behavior...