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

Howard Lovatt howard.lovatt at gmail.com
Mon Jan 4 14:33:13 CST 2016


Alternatively the Properties Behaviour syntax proposal could be applied to any declaration, assuming that it is accepted. 


> On 5 Jan 2016, at 4:18 AM, Amir Michail via swift-evolution <swift-evolution at swift.org> wrote:
> 
> 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
> 
> 
> 
> 
> 
> 
> _______________________________________________
> 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