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.
"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.
(In reply to comment #1) > 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. > 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.
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.
Fixed DMD 0.178
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル