This following code fails to compile (which is correct, as far as I can judge 
that):

   if let x = 5 { }
   // error: initializer for conditional binding must have Optional type, not 
'Int'

But why is does it compile (with a warning) if an explicit type annotation is 
added?

   if let y: Int = 5 { }
   // warning: non-optional expression of type 'Int' used in a check for 
optionals

Tested with Xcode 8.3.2 and both the build-in Swift 3.1 toolchain and the Swift 
4.0 snapshot from May 25, 2017.

I am just curious and would like to understand if there is fundamental 
difference between those statements.

Regards, Martin


_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to