------- Comment #4 from pinskia at gcc dot gnu dot org 2006-11-08 09:45 ------- Reduced testcase: template< typename T> struct has_begin {static const bool value =0;}; template<bool a> struct sequence_tag_impl{}; template< typename Sequence> struct sequence_tag : sequence_tag_impl<has_begin<Sequence>::value >{}; template<typename T>struct lambda{}; template<template< typename P1 > class F, typename T1 >struct lambda<F< T1 > >{}; template< typename Tag >struct size_impl; template<typename Tag, long Arity = size_impl< typename sequence_tag<Tag>::type >::value> struct basic_expr{}; int main() { lambda<basic_expr<short, 2> > a; }
------ This looks like it was caused by an extension which was removed in 4.2.0. Also I think there might be a dup of this bug filed already. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2006-11-08 09:45:32 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29653