[swift-evolution] Proposal: named invariants for variable declarations

Amir Michail a.michail at me.com
Mon Jan 4 11:18:55 CST 2016


Examples:

invariant vectorIndex(v:Int) { return 0..<3 ~= v }

var i:Int,vectorIndex: = 2
i = 3 // run-time error

invariant positive(v:Int) { return v > 0 }
invariant odd(v:Int) { return v % 2 == 1 }

var x:Int, positive, odd = 5

x = 2 // run-time error

func f(z:Int, positive, odd) {
…
}

f(-3) // run-time error








More information about the swift-evolution mailing list