A Apple lançou o Swift 5.10, uma atualização para a linguagem de programação de código aberto da empresa que atinge um marco importante: fornecer segurança contra corridas de dados por meio do isolamento total dos dados no modelo de simultaneidade. A melhoria prepara o caminho para o lançamento planejado do Swift 6.

Binários para Swift 5.10, lançados em 5 de março, podem ser encontrados em swift.org para Windows, macOS e Linux.

Ao explicar o marco, a engenheira da Apple Swift, Holly Borla, disse que uma fonte cada vez mais importante de comportamento indefinido é o código simultâneo que acessa inadvertidamente a memória de um thread ao mesmo tempo que outro thread está gravando na mesma memória. Essa insegurança é chamada de corrida de dados, o que torna programas simultâneos excepcionalmente difíceis de escrever, observou Borla. O Swift 5.10 finalmente consegue o isolamento total dos dados para simultaneidade após anos de desenvolvimento ativo. O modelo de simultaneidade foi introduzido no Swift 5.5 em setembro de 2021.

O Swift 5.10 impõe isolamento total de dados em tempo de compilação quando a opção de verificação completa de simultaneidade está habilitada, disse Borla. Isso prepara o terreno para o Swift 6, que oferecerá um modo de linguagem Swift 6 opcional que impõe isolamento total de dados por padrão. Enquanto isso, o Swift 5.10 produzirá avisos de corrida de dados em algumas circunstâncias onde o código pode ser provado seguro com análise adicional do compilador.

Um foco principal do desenvolvimento da linguagem para Swift 6 é melhorar a usabilidade da verificação estrita de simultaneidade, mitigando erros de simultaneidade falsos positivos em padrões comuns comprovadamente seguros, disse Borla. A simultaneidade estruturada foi citada como uma meta do lado do servidor para a linguagem Swift.