http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48994
--- Comment #1 from Nathan Ridge <zeratul976 at hotmail dot com> 2011-05-13 23:19:32 UTC --- Further reduced to: template <typename T> struct myvec { T* begin() const; T* end() const; }; void f(const myvec<int>& v) { for (int i : v) ; }