Comportamento indefinido ou: Swift tem pontos de sequência?

Em C / C ++, a segunda instrução em

int i = 0;
int j = i++ + i++ + ++i;

invoca ambos

comportamento não especificado, porque a ordem de avaliação dos operandos não é especificada ecomportamento indefinido, porque os efeitos colaterais no mesmo objetoi são não sequenciais um em relação ao outro.

Veja por exemplo

Por que essas construções (usando ++) não são definidas?Comportamento indefinido e pontos de sequência

Agora, dado que o Swift foi projetado como umseguro idioma, qual é a situação correspondente aqui? É o resultado de

var i = 0
let j = i++ + i++ + ++i

bem definido? Pode-se concluir a partir da referência linguística no livro Swift quej == 4?

questionAnswers(1)

yourAnswerToTheQuestion