IIRC std.contracts has been deprecated and replaced by std.exception, enforce and friends. The latter are runtime things, correct(?).
Is there a valid use case for compile-time (i.e. subject to static analysis) design-by-contract (DBC) enforce-like machinery? For example, and perhaps not the best example, one might like to pass an array of Foos to a function which by static design expects to receive such array at runtime as containing a minimum and/or maximum of elements. Should (i.e. could it be desirable that) such interface contracts be checkable at compile-time? Cheers Justin Johansson
