On Thursday, 1 October 2015 at 19:04:51 UTC, Andrei Alexandrescu wrote:
* I don't think we need a new flag, just make the new behavior work.

So you mean that extra diagnostics should kick in when extra overloads are made visible via import of, for instance, `core.assert`?

* Should the lowering happen only on the function called if the assertion actually fails? Then no more need for laziness and other complications.

Could explain what you mean by *lowering*, please?

I'm currently unsure whether
    in L lhs
or
    lazy L lhs

should be used and whether or not we should use
    version(assert)

See the added example at
http://wiki.dlang.org/DIP83

* Extend to other expressions (!=, ordering etc).

How should we categorize expressions? Like this
- Unary: assert(x UNOP y)
- Binary: assert(x BINOP y)
- Function Calls: assert(f(x,y))
- Other: assert(x)

Does it suffice to just mention these or should I be explicit exactly about which operators for each category that should be included?

Reply via email to