Ligação opcional de literal nulo vs. variável que é nulo no Swift

Em Swift, por que

var x: Int? = nil
if let y: Int? = x { ... }

comportar-se de maneira diferente de

if let y: Int? = nil { ... }

Minhascompreensão O motivo pelo qual o primeiro caso é bem-sucedido sugere que o segundo também deveria, então não devo realmente entender.

O último não está falhando por causa de uma atribuição inválida, nem por causa de encadeamento opcional; e, caso contrário, parece o mesmo que o primeiro. Por que o último falha e como é diferente do anterior. Exatamente em que ponto e por que motivo a segunda ligação opcional é abandonada?

questionAnswers(3)

yourAnswerToTheQuestion