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

Adrian Kashivskyy adrian.kashivskyy at me.com
Wed Dec 16 03:06:21 CST 2015


> I want ALL my asserts to be active in release code.

What's the problem in using `precondition` then?

Pozdrawiam – Regards,
Adrian Kashivskyy

> Wiadomość napisana przez Amir Michail via swift-evolution <swift-evolution at swift.org> w dniu 15.12.2015, o godz. 00:13:
> 
> 
>> 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
>> 
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20151216/bb874fb5/attachment.html>


More information about the swift-evolution mailing list