https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63506
--- Comment #3 from Steffen Müthing <steffen.muething at iwr dot uni-heidelberg.de> --- Ooops, yes, I did. Actually I meant to write decltype(*iterator()), but decltype(*it()) doesn't make sense, of course. And to avoid further confusion: The function get() in the iterator is just there as an example for a function that avoids the problem (see comment #1).