Необязательная привязка литерала nil к переменной, равной nil в Swift
В Swift почему
var x: Int? = nil
if let y: Int? = x { ... }
вести себя иначе, чем
if let y: Int? = nil { ... }
мойпонимание то, почему первый случай успешен, говорит о том, что второй тоже должен, так что я не должен понимать.
Последнее не дает сбоя ни из-за неверного назначения, ни из-за необязательного связывания; а в остальном похоже на прежний. Почему последнее терпит неудачу и чем оно отличается от первого. Точно, в какой момент и по какой причине отменяется второе необязательное связывание?