https://issues.dlang.org/show_bug.cgi?id=12480
--- Comment #4 from Per Nordlöw <[email protected]> --- Elaboration from my previous post: I'v been wanting to have a similar dynamic behaviour for assert(EXPR) where EXPR is of the form x OP y where OP typically is a logical comparison operator ==, !=, <, >, <=, >=. For example if assert(x == y) fails it should in some useful way explain to the user why it failed. For small structures (for example builtin scalar types) it could just print them. For larger structures/ranges it would be more useful to print the first (index, value) of x and y where the assertion failed. This should probably apply recursively, for example Exception: assert(x == y) failed for i:th element of j:th element of ... x being X and ... of y being Y For large structures this may result in a significant increase in code generation (and compilation time) for all the to!string instantiations the needs to be made. Maybe a compiler flag is motivated in this case. --
