http://d.puremagic.com/issues/show_bug.cgi?id=6549
Stewart Gordon <s...@iname.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |s...@iname.com Severity|normal |enhancement --- Comment #4 from Stewart Gordon <s...@iname.com> 2012-02-12 10:07:15 PST --- (In reply to comment #3) > Is there any news on this? Design-by-contract in D is seriously crippled due > to > this bug. It's an arbitrary restriction, not a bug. http://www.dlang.org/declaration.html Decl: StorageClasses Decl BasicType Declarators ; BasicType Declarator FunctionBody AutoDeclaration http://www.dlang.org/function.html FunctionBody: BlockStatement BodyStatement InStatement BodyStatement OutStatement BodyStatement InStatement OutStatement BodyStatement OutStatement InStatement BodyStatement InStatement and OutStatement are part of FunctionBody, so if the function has no body then it can't have in and out contracts. But I entirely agree that it should be allowed. Contracts are part of the API, not the implementation. As such, they are equally applicable to abstract/interface methods. It could also improve contract checking in closed-source libraries. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------