@assert alternatives?

Ah, good point. If you want to get rid of assertion in the release mode, yet another possibility is to release version x.y and x.(y - 1) of MayAssert where y is an even number such that @mayassert from version x.y is a no-op and it’s @assert for x.(y - 1) (like old Linux kernel which used odd minor version to mean dev version). This way, you can use jlm (a tool I made) to isolate the precompilation cache for “dev builds.”

Aside: even/odd versions work for a binary flag like this. But it would really be nice to have package options (Package options · Issue #38 · JuliaLang/Juleps · GitHub, Package Options · Issue #458 · JuliaLang/Pkg.jl · GitHub) so that we can, e.g., toggle only a subset of assertions.