Recursive templated structs disallowed?

2010-08-04 Thread Simen kjaeraas
struct bar( T ) { auto baz( U )( U arg ) { bar!( typeof( this ) ) tmp; return tmp; } } void main( ) { bar!int n; n.baz( 3 ); } This code fails with Error: recursive template expansion for template argument bar!(int) Now, I agree it is recursive, but it is not infi

Re: Recursive templated structs disallowed?

2010-08-04 Thread Steven Schveighoffer
On Wed, 04 Aug 2010 15:37:32 -0400, Simen kjaeraas wrote: struct bar( T ) { auto baz( U )( U arg ) { bar!( typeof( this ) ) tmp; return tmp; } } void main( ) { bar!int n; n.baz( 3 ); } This code fails with Error: recursive template expansion for templat

Re: Recursive templated structs disallowed?

2010-08-04 Thread Simen kjaeraas
Steven Schveighoffer wrote: On Wed, 04 Aug 2010 15:37:32 -0400, Simen kjaeraas wrote: struct bar( T ) { auto baz( U )( U arg ) { bar!( typeof( this ) ) tmp; return tmp; } } void main( ) { bar!int n; n.baz( 3 ); } This code fails with Error: recursive

Re: Recursive templated structs disallowed?

2010-08-04 Thread Philippe Sigaud
On Wed, Aug 4, 2010 at 22:06, Steven Schveighoffer wrote: > On Wed, 04 Aug 2010 15:37:32 -0400, Simen kjaeraas > wrote: > > struct bar( T ) { >> auto baz( U )( U arg ) { >> bar!( typeof( this ) ) tmp; >> return tmp; >> } >> } >> >> void main( ) { >> bar!int n; >>

Re: Recursive templated structs disallowed?

2010-08-05 Thread Don
Simen kjaeraas wrote: struct bar( T ) { auto baz( U )( U arg ) { bar!( typeof( this ) ) tmp; return tmp; } } void main( ) { bar!int n; n.baz( 3 ); } This code fails with Error: recursive template expansion for template argument bar!(int) Now, I agree it is recurs