[Bug c++/40497] invalid std::next / std::prev declaration

2009-07-26 Thread jason at gcc dot gnu dot org
--- Comment #20 from jason at gcc dot gnu dot org 2009-07-27 05:46 --- Actually, no. It seems that T being invalid doesn't result in a SFINAE situation. 14.9.2/8: Only invalid types and expressions in the immediate context of the function type and its template parameter types can res

[Bug c++/40497] invalid std::next / std::prev declaration

2009-07-26 Thread jason at gcc dot gnu dot org
--- Comment #19 from jason at gcc dot gnu dot org 2009-07-27 01:08 --- That does seem like a SFINAE bug. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40497

[Bug c++/40497] invalid std::next / std::prev declaration

2009-07-26 Thread paolo dot carlini at oracle dot com
--- Comment #18 from paolo dot carlini at oracle dot com 2009-07-26 15:45 --- Never mind the draft next, of course doesn't work, grunt (_Distance?) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40497

[Bug c++/40497] invalid std::next / std::prev declaration

2009-07-26 Thread paolo dot carlini at oracle dot com
--- Comment #17 from paolo dot carlini at oracle dot com 2009-07-26 14:46 --- Maybe Jason can help confirming that we don't have a C++ issue here?!? In that case, however, since Concepts are gone, I think we should probably file a library DR or raise the issue vs the rolled-back Draft.

[Bug c++/40497] invalid std::next / std::prev declaration

2009-07-22 Thread jakub at gcc dot gnu dot org
-- jakub at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|4.4.1 |4.4.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40497

[Bug c++/40497] invalid std::next / std::prev declaration

2009-06-21 Thread paolo dot carlini at oracle dot com
--- Comment #16 from paolo dot carlini at oracle dot com 2009-06-21 11:08 --- This is interesting and indeed, I'm not at all sure it's a C++ bug, but I seem to remember an open PR about SFINAE vs defaults, we should check. As regards the library side, anyway, I'm against putting in plac

[Bug c++/40497] invalid std::next / std::prev declaration

2009-06-21 Thread rguenth at gcc dot gnu dot org
--- Comment #15 from rguenth at gcc dot gnu dot org 2009-06-21 10:41 --- Bah, of course the template param isn't forwarded as a type in iterator_traits nor is it required as a type for iterator implementations. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40497

[Bug c++/40497] invalid std::next / std::prev declaration

2009-06-21 Thread rguenth at gcc dot gnu dot org
--- Comment #14 from rguenth at gcc dot gnu dot org 2009-06-21 10:38 --- Testcase w/o std=c++0x: template struct T { typedef typename I::d d; }; template I next(I __x, typename T::d __n = 1); namespace X { class C { }; template void next(T) { } } int main() { X::C c; next(c);

[Bug c++/40497] invalid std::next / std::prev declaration

2009-06-20 Thread paolo dot carlini at oracle dot com
--- Comment #13 from paolo dot carlini at oracle dot com 2009-06-21 01:05 --- See: http://gcc.gnu.org/ml/libstdc++/2009-06/msg00057.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40497

[Bug c++/40497] invalid std::next / std::prev declaration

2009-06-20 Thread paolo dot carlini at oracle dot com
--- Comment #12 from paolo dot carlini at oracle dot com 2009-06-21 01:03 --- Yes, either that or wontfix until we have concepts as a library issue. -- paolo dot carlini at oracle dot com changed: What|Removed |Added --