{"id":28950,"date":"2020-05-18T16:44:01","date_gmt":"2020-05-18T20:44:01","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=28950"},"modified":"2020-05-18T16:44:01","modified_gmt":"2020-05-18T20:44:01","slug":"whats-new-in-swift-5-3","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2020\/05\/18\/whats-new-in-swift-5-3\/","title":{"rendered":"What&rsquo;s New in Swift 5.3"},"content":{"rendered":"<p><a href=\"https:\/\/theswiftdev.com\/whats-new-in-swift-5-3\/\">Tibor B&ouml;decs<\/a>:<\/p>\n<blockquote cite=\"https:\/\/theswiftdev.com\/whats-new-in-swift-5-3\/\"><p><a href=\"https:\/\/github.com\/apple\/swift-evolution\/blob\/master\/proposals\/0279-multiple-trailing-closures.md\">SE-0279<\/a> [multiple trailing closures] is one of the most debated new proposal.<\/p><p>[&#8230;]<\/p><p>Enum types don&rsquo;t have to explicitly implement the Comparable protocol thanks to <a href=\"https:\/\/github.com\/apple\/swift-evolution\/blob\/master\/proposals\/0266-synthesized-comparable-for-enumerations.md\">SE-0266<\/a>.<\/p><p>[&#8230;]<\/p><p><a href=\"https:\/\/github.com\/apple\/swift-evolution\/blob\/master\/proposals\/0269-implicit-self-explicit-capture.md\">SE-0269<\/a> aka. Increase availability of implicit self in @escaping closures when reference cycles are unlikely to occur is a nice addition for those who don&rsquo;t like to write self. &#x1F9D0;<\/p><p>[&#8230;]<\/p><p><a href=\"https:\/\/github.com\/apple\/swift-evolution\/blob\/master\/proposals\/0270-rangeset-and-collection-operations.md\">SE-0270<\/a> adds a <code>RangeSet<\/code> type for representing multiple, noncontiguous ranges, as well as a variety of collection operations for creating and working with range sets.<\/p><p>[&#8230;]<\/p><p><a href=\"https:\/\/github.com\/apple\/swift-evolution\/blob\/master\/proposals\/0263-string-uninitialized-initializer.md\">SE-0263<\/a> adds a new <code>String<\/code> initializer that allows you to work with an uninitialized buffer.<\/p><\/blockquote>\n\n<p>See also: <a href=\"https:\/\/www.hackingwithswift.com\/articles\/218\/whats-new-in-swift-5-3\">Paul Hudson<\/a>.<\/p>\n\n<p><a href=\"https:\/\/twitter.com\/tkremenek\/status\/1261510765934030851\">Ted Kremenek<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/tkremenek\/status\/1261510765934030851\">\n<p>The new APIs in SE-0270 (RangeSet) are going to bake a bit longer and likely won&rsquo;t be part of Swift 5.3.  They are still in the Standard Library preview package.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Tibor B&ouml;decs: SE-0279 [multiple trailing closures] is one of the most debated new proposal.[&#8230;]Enum types don&rsquo;t have to explicitly implement the Comparable protocol thanks to SE-0266.[&#8230;]SE-0269 aka. Increase availability of implicit self in @escaping closures when reference cycles are unlikely to occur is a nice addition for those who don&rsquo;t like to write self. &#x1F9D0;[&#8230;]SE-0270 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2020-05-18T20:44:05Z","apple_news_api_id":"451d9e07-333f-4882-9caa-592ff18ac64f","apple_news_api_modified_at":"2020-05-18T20:44:05Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/ARR2eBzM_SIKcqlkv8YrGTw","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[46,71,901],"class_list":["post-28950","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-languagedesign","tag-programming","tag-swift-programming-language"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/28950","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=28950"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/28950\/revisions"}],"predecessor-version":[{"id":28951,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/28950\/revisions\/28951"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=28950"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=28950"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=28950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}