[swift-evolution] Proposal: remove "assert" and always use "precondition" instead.

Amir Michail a.michail at me.com
Mon Dec 14 17:13:13 CST 2015


> On Dec 14, 2015, at 6:09 PM, sune.foldager at me.com wrote:
> 
> 
>> On 15 Dec 2015, at 00:01, Amir Michail via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>> What about these renamings?
>> 
>> assert => debugAssert
>> 
>> precondition => assert
> 
> I think precondition is a better name because it clearly expresses that this is an expected precondition for calling the method. Precondition is similar to Microsoft code contract’s Contract.Requires.

I want ALL my asserts to be active in release code. Correctness is more important than performance for me. I suspect this is also the case with most programmers.

> 
> Also, the traditional use of assert (also in other languages) is for guarding against your own programmer errors, which I think most people expect when they see assert. It may be useful for an assert that’s still active in optimised builds, true. I guess that could be called assert! or assertAlways.
> 
> -Sune
> 



More information about the swift-evolution mailing list