Swift 5.8 comporte un aperçu de Swift 6.0

Par:
fredericmazue

mar, 04/04/2023 - 16:38

Apple a publié Swift 5.8 le 30 mars dernier. Cette version offre des améliorations au niveau de la chaîne d'outils Windows afin de réduire la dépendance aux variables d'environnement. La prise en charge de l'interopérabilité avec C++ sur Windows a été fusionnée et est maintenant disponible dans la chaîne d'outils.

Au niveau du langage lui-même, Swift 5.8 apporte notamment une fonctionnalité d'attributs conditionnels dont le but est de réduire les coûts de maintenance des bibliothèques prenant en charge plusieurs versions d'outils Swift. Swift 5.8 intègre aussi les bases de Swift 6 en version préliminaire. Ces aperçus ne sont bien sûr pas activés par défaut. Pour les activer, il faut utiliser le drapeau de compilation -enable-upcoming-feature.

Parmi ces nouvelles fonctionnalités de Swift 6.0 :

  • Les 'Concise magic file names' (ConciseMagicFile) grâce auxquels l'expression #file sera évaluée en une chaîne humainement lisible contenant les noms de fichier et de module tout en préservant le comportement existant dans l'expression #filePath.
  • Les littéraux Regex qui apportent des vérifications au moment de la compilation et une inférence de type.
  • ForwardTrailingClosures qui remplace la correspondance d'analyse arrière par une analyse avant, pour plus de simplicité et une meilleure prise en charge de l'API.
  • ExistentialAny qui rend l'impact des types existentiels explicite dans le langage en annotant ces types avec any.