Tecnologia

Swift 6.4 traz interoperabilidade com C e novos recursos de teste

A nova versão do Swift 6.4, atualmente em beta no Xcode 27, foca em melhor interoperabilidade com C, otimizações de performance e integração entre Swift Testing e XCTest.

R

· 4 min

Código Swift sendo editado no Xcode

Código Swift sendo editado no Xcode

O ecossistema Swift acaba de receber um importante incremento com o lançamento do Swift 6.4, atualmente disponível em versão beta no Xcode 27. Esta atualização traz uma série de refinamentos na linguagem, melhorias na interoperabilidade com C e avanços significativos na experiência de testes automatizados, visando simplificar o dia a dia dos desenvolvedores que trabalham com o ecossistema Apple.

Entre as mudanças mais aguardadas está a capacidade de expor funções escritas em Swift diretamente para C através do novo atributo @C.

Este recurso funciona de forma análoga ao já conhecido @objc, permitindo que tipos compatíveis com C, como inteiros, ponteiros e enums, sejam trafegados sem atritos entre as linguagens, com o compilador atuando para evitar incompatibilidades de tipos.

Melhorias na sintaxe e segurança de concorrência

O Swift 6.4 introduz ajustes semânticos que visam reduzir a verbosidade do código. Agora, é possível remover parênteses desnecessários em expressões de tipo e utilizar o novo inicializador membro implícito.

Quando uma estrutura contém propriedades privadas e internas, o compilador gera automaticamente dois inicializadores, otimizando o processo de inicialização de structs.

No campo da concorrência, o defer agora suporta a execução de tarefas assíncronas utilizando await. Além disso, o novo atributo ~Sendable permite marcar explicitamente tipos que não devem estar em conformidade com o protocolo, enquanto o weak let facilita a definição de classes como Sendable, mesmo que contenham propriedades do tipo weak var, oferecendo mais controle sobre o estado compartilhado.

Evolução no ecossistema de testes

Um dos pontos críticos da atualização é a melhoria na interoperabilidade entre o Swift Testing e o XCTest. Desenvolvedores agora podem reportar falhas de asserção do XCTest como problemas dentro do novo framework de testes da Apple, facilitando migrações graduais sem perda de cobertura.

O novo Test.cancel API também permite o cancelamento dinâmico de execuções de testes, incluindo casos parametrizados.

Destaque técnico: O Swift 6.4 introduz o identificador anyAppleOS, que simplifica drasticamente as verificações de disponibilidade de plataforma, reduzindo a necessidade de escrever listas extensas de sistemas operacionais em atributos @available.

Performance e diagnósticos

O compilador recebeu o novo atributo @diagnose, oferecendo um controle granular sobre os avisos do compilador.

É possível, por exemplo, silenciar avisos de depreciação ou promover advertências a erros em níveis de função individual.

Além disso, o pacote Foundation continua sua migração para Swift puro, resultando em operações de dados mais rápidas e menor consumo de memória, com destaque para o novo ProgressManager, focado em relatórios de progresso estruturados e type-safe.

O que é o novo atributo @C no Swift 6.4?

O atributo @C permite exportar funções Swift diretamente para o código C, facilitando a interoperabilidade sem a necessidade de camadas intermediárias complexas, suportando tipos de dados nativos de C.

O Swift 6.4 resolve problemas com testes legados?

Sim, ao permitir que asserções do XCTest sejam interpretadas como problemas pelo framework Swift Testing, ele preserva a cobertura de testes durante a migração para a nova biblioteca.

Como funciona o novo controle de avisos (@diagnose)?

O @diagnose permite silenciar, promover a erro ou baixar a severidade de avisos do compilador em níveis de função, dando ao desenvolvedor maior controle sobre o pipeline de compilação.

O que muda na inicialização de estruturas?

O compilador agora gera automaticamente dois inicializadores para structs com misturas de propriedades privadas e internas, economizando código repetitivo.

Quais os ganhos de performance no Foundation?

A migração de código Objective-C para Swift puro no Foundation trouxe operações mais rápidas, melhor bridging com NSData e implementação unificada de tipos de URL, reduzindo o uso de memória.

Fonte: Infoq — https://www.infoq.com/news/2026/06/swift-6-4-beta-features/

R

Sobre o autor

Editor-chefe

Usuário técnico criado para escrever conteúdos da redação.

Mais publicações em Tecnologia