Thoughts about in contract inheritance

Jonathan M Davis jmdavisProg at gmx.com
Wed Feb 29 14:47:39 PST 2012


On Wednesday, February 29, 2012 21:45:19 Timon Gehr wrote:
> On 02/29/2012 09:30 PM, Stewart Gordon wrote:
> > So what? It's a bug that compiler behaviour doesn't match the
> > documentation. You seem to be agreed that this is the case with what
> > happens to the contract where the override has no InStatement at all.
> 
> I think in this case the documentation has not been updated yet because
> the feature is still experimental. Anyway, even with the documentation,
> many essential parts of the language are documented only on this
> newsgroup or through the compiler implementation, unspecified completely
> or only partly specified. I don't think it is currently possible to
> become completely proficient in D without reading this newsgroup.

It's certainly the case that when the spec does not match the compiler, you 
_cannot_ assume that it's the spec that's correct. We have the spec, the 
compiler, _and_ TDPL to worry about. If they don't agree, then TDPL is most 
likely to be right out of the 3, but there's no guarantee. And definitely 
between the spec and the compiler, you can't trust that the spec is more 
correct than the compiler. It depends entirely on what the mismatch is. There 
have been some recent fixes to the spec, so it's not as bad as it used to be, 
but you can't really assume that what the spec is correct when it and the 
compiler disagree.

- Jonathan M Davis


More information about the Digitalmars-d mailing list