Switching to Swift 3, in XCode 8.0, forced unwrapping changed as described in the playground code below:
var i: Int!
i = 0
print("\(i)") // -1 outputs "Optional(0)\n"
var j = i
j = 0
print("\(j)") // -2 still "Optional(0)\n"
var k: Int = i
print(k) // -3 outputs "0\n"
var l: Int = j // -4 error: Value of optional type 'Int?' not unwrapped; did you mean to use '!' or '?'?
print(l)
In swift 2, this used to output only "0\n" (without Optional(), and without compilation error.)
Seems like a bug to me. Or am I missing something in the Swift 3?