[swift-evolution] Proposal: Initialization should not be required in precondition(false) case.

Radosław Pietruszewski radexpl at gmail.com
Fri Feb 12 11:09:43 CST 2016


I think what you mean is `fatalError()`.

You can’t do what you suggest, because you can’t prove that the expression passed to precondition will evaluate to false. (You theoretically could if the compiler checked for you passing `false`, but that makes no sense. Just go with `fatalError` or `preconditionFailure`.)

— Radek

> On 12 Feb 2016, at 16:59, Amir Michail via swift-evolution <swift-evolution at swift.org> wrote:
> 
> For example:
> 
> let x:Int
> if … { x = 1 }
> else if … { x = 2 }
> else { precondition(false) } // no initialization needed
> 
> Similarly,
> 
> let x:Int
> switch ... {
> case …: x = 1
> case …: x = 2
> default: precondition(false) // no initialization needed
> }
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list