std.xml validity checking is absurd
Dicebot
m.strashun at gmail.com
Fri Feb 8 04:33:05 PST 2013
On Friday, 8 February 2013 at 11:25:07 UTC, monarch_dodra wrote:
> "in" and "out" contracts themselves are flawed in D in any
> case, given they are part of the "called" code, as opposed to
> "caller" code.
>
> This makes them absolutely no different than an assert.
>
> The problem is that an assert is "internal" validation, whereas
> an "in"/"out" is supposed to be a handshake between the
> caller/callee.
Isn't it exactly how contracts are supposed to work? They are
neither error handling tools, nor handshake - more like tools to
verify interconnections between different inner parts of program
stay sane. For example, in web application you would like to
escape user input only once, upon receiving it, and it makes
sense to not waste cycles on verifying it is actually escaped
down the code path. But adding a contract to make sure someone
does not use that library function on a raw input by accident -
makes perfect sense. Of course, contracts shine only if some
debug-mode testing is in place during development process but
right now they do behave in D exactly how I would have supposed.
More information about the Digitalmars-d
mailing list