On Mon, Feb 01, 2010 at 03:55:15PM -0500, Solomon Foster wrote: : On Mon, Feb 1, 2010 at 3:46 PM, Patrick R. Michaud <pmich...@pobox.com> wrote: : > On Mon, Feb 01, 2010 at 05:55:47PM +0100, Carl Mäsak wrote: : >> Is it allowed to do 'class B { ... }' several times in different files : >> before finally declaring the real B? If so, then I'd consider it : >> equivalent to my proposed keyword, and thus there'd be no need for the : >> latter. : > : > Yes. And "declaring the real B" doesn't have to be "final", nor : > does it have to occur at all (as long as none of the features needed : > from B are ever needed). : : And just to finish it off... are you allowed to do 'class B { ... }' : even after "declaring the real B"?
STD does not currently allow it because you have to install the name immediately in case of references in the traits, even before the block. The block is too late to say "whoops, didn't mean it really." Pretty much the same reason we changed "is also" to "augment". We want to look up the name right now and know whether it should exist without doing lookahead. Larry