"Alisdair Meredith" <[EMAIL PROTECTED]> writes:

| Gabriel Dos Reis wrote:
| 
| > The issue was whether GNU g++ uses it as an *implementation detail*
| > that will be affected if constructors suddenly became recursive.
| 
| I was not aware the proposal supported recursive constructors - in the
| sense that the syntax I saw had no obvious way to terminate any
| recursion.
| 
| OTOH, there is no requirement to detect recursion and make the program
| malformed, merely a hidden bug waiting to strike your users.

I know the proposals did not dig into all the corner cases -- and I
don't even know whether they considered the case.  But, at some point,
someone has to go through the sheer number of proposals and try to paint
a global picture and see how they interact with existing
implementation techniques; C++ is not known to be orthogonal :-)

[ in contrast, consider that the "generalized constant expressions"
  went through the trouble of not introducing recursion in the
  evaluation of constant expressions -- except the limiting cases with
  class templates.  ]

-- Gaby

Reply via email to