On Thu, Jan 18, 2018 at 4:21 PM, Steve Barnes <gadgetst...@live.co.uk> wrote: > 1. For asserts that should not be disabled we could have an always > qualifier optionally added to assert, either as "assert condition > exception always" or "assert always condition exception", that disables > the optimisation for that specific exception. This would make it clearer > that the developer needs this specific check always. Alternatively, we > could consider a scoped flag, say keep_asserts, that sets the same.
But if they're never to be compiled out, why do they need special syntax? assert always x >= 0, "x must be positive" can become if x < 0: raise ValueError("x must be positive") I haven't yet seen any justification for syntax here. The nearest I've seen is that this "ensure" action is more like: try: cond = x >= 0 except BaseException: raise AssertionError("x must be positive") else: if not cond: raise AssertionError("x must be positive") Which, IMO, is a bad idea, and I'm not sure anyone was actually advocating it anyway. ChrisA _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/