digitalmars.D.bugs - [Issue 630] New: Obscure, unimplemented features related to in/out contracts
- d-bugmail puremagic.com (31/31) Dec 02 2006 http://d.puremagic.com/issues/show_bug.cgi?id=630
- d-bugmail puremagic.com (12/12) Dec 03 2006 http://d.puremagic.com/issues/show_bug.cgi?id=630
- d-bugmail puremagic.com (8/11) Dec 03 2006 http://d.puremagic.com/issues/show_bug.cgi?id=630
- d-bugmail puremagic.com (10/10) Dec 03 2006 http://d.puremagic.com/issues/show_bug.cgi?id=630
- d-bugmail puremagic.com (9/9) Dec 26 2006 http://d.puremagic.com/issues/show_bug.cgi?id=630
http://d.puremagic.com/issues/show_bug.cgi?id=630
Summary: Obscure, unimplemented features related to in/out
contracts
Product: D
Version: 0.175
Platform: All
URL: http://www.digitalmars/com/d/dbc.html
OS/Version: All
Status: NEW
Keywords: spec
Severity: major
Priority: P2
Component: DMD
AssignedTo: bugzilla digitalmars.com
ReportedBy: smjg iname.com
OtherBugsDependingO 511
nThis:
Issue 302 talks of a long-unimplemented part of D: inheritance of in/out
contracts. This is about some lesser-known DBC features that are in the D
spec.
"The compiler can be adjusted to verify that every in and inout parameter is
referenced in the in { }, and every out and inout parameter is referenced in
the out { }."
Admittedly, this seems pointless (leading to convoluted code just to use all
the variables), but it's there.
"The in-out statement can also be used inside a function, for example, it can
be used to check the results of a loop:"
There are workarounds for this, but that doesn't excuse anything.
I vaguely recall Walter mentioning an intention to remove these from the spec,
but nothing's happened about this either way.
--
Dec 02 2006
http://d.puremagic.com/issues/show_bug.cgi?id=630
deewiant gmail.com changed:
What |Removed |Added
----------------------------------------------------------------------------
URL|http://www.digitalmars/com/d|http://www.digitalmars.com/d
|/dbc.html |/dbc.html
"The in-out statement can also be used inside a function, for example, it can
be used to check the results of a loop:"
It is noted in the spec that "[t]his is not implemented at this time." The
parameter-checking paragraph could use such a comment as well.
--
Dec 03 2006
http://d.puremagic.com/issues/show_bug.cgi?id=630It is noted in the spec that "[t]his is not implemented at this time." The parameter-checking paragraph could use such a comment as well.The spec has for a long time been the documentation for the compiler, which is the wrong way to do it. The spec is a spec, and whether there exists a compiler that implements it or not, should not be part of it. DMD's own documentation, should mention it though. --
Dec 03 2006
http://d.puremagic.com/issues/show_bug.cgi?id=630
smjg iname.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Flag| |d1.0blocker?
Whether DMD's documentation mentions it doesn't alter the fact that the fact
that DMD doesn't implement it is a bug. Because DMD is supposed to be a D
compiler, not a some-subset-of-D compiler.
--
Dec 03 2006
http://d.puremagic.com/issues/show_bug.cgi?id=630
bugzilla digitalmars.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Fixed DMD 0.178
--
Dec 26 2006









d-bugmail puremagic.com 