Meta: > What's the difference between your proposed "enum precondition" > and: > > void fun(int n) > in > { > static assert(...); > } > out > { > static assert(...); > } > body > { > //... > } Those static asserts are useless, because the argument n is not a "static" one. Bye, bearophile