From 1db5629f695b0404a90a8658efa0cac7b92654be Mon Sep 17 00:00:00 2001 From: Roman Volkov Date: Wed, 27 Sep 2017 18:34:23 +0500 Subject: [PATCH 01/10] init --- _drafts/2017-09-28-issue-89.md | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/_drafts/2017-09-28-issue-89.md b/_drafts/2017-09-28-issue-89.md index 3dd53589..3f47c056 100644 --- a/_drafts/2017-09-28-issue-89.md +++ b/_drafts/2017-09-28-issue-89.md @@ -1,15 +1,10 @@ --- layout: post title: ! 'Issue #89' -author: jsq -sponsor: - link: TODO - heading: TODO - body: TODO - displaylink: TODO +author: roman --- -> TODO: intro comments +Welcome to the 89 issue of the swift weekly newsletter! @@ -17,21 +12,35 @@ sponsor: ### Starter tasks -> TODO +Starter tasks are a great way to get started with contributing to Swift. Ask questions right in the bug reporting system, and get feedback when you submit your pull request. + +* [SR-5996](https://bugs.swift.org/browse/SR-5996): Improve compiler error with a fix-it: Cannot assign to value, 'bar' is a 'let' constant +* [SR-5995](https://bugs.swift.org/browse/SR-5995): update-checkout --tags should fetch --tags before attempting to find a tag +* [SR-5983](https://bugs.swift.org/browse/SR-5983): Unused result warning phrasing is worse for closures than normal functions +* [SR-5982](https://bugs.swift.org/browse/SR-5982): didSet causes unwanted calls to getter even when oldValue isn't used {% include task_remind.html %} ### Swift Unwrapped -> TODO: Latest episode of Swift Unwrapped +in [Episode 30](https://spec.fm/podcasts/swift-unwrapped/87409) hosts Jese Squires and JP Simard with Mike Ash discussed changes in weak references implementation in Swift 4. ### News and community -> TODO +LLVM anniversary https://twitter.com/llvmorg/status/912724943221096448 + +Swift weak references https://mikeash.com/pyblog/friday-qa-2015-12-11-swift-weak-references.html + +https://twitter.com/xenadu02/status/911463433521860609 + +https://medium.com/flawless-app-stories/debugging-swift-code-with-lldb-b30c5cf2fd49 + ### Commits and pull requests -> TODO +https://github.com/apple/swift/pull/12030 + +https://github.com/apple/swift/pull/12115 ### Accepted proposals @@ -47,7 +56,7 @@ sponsor: ### Proposals in review -> TODO +[Review] SE-0176: Remove ownership keyword support in protocols https://lists.swift.org/pipermail/swift-evolution-announce/2017-September/000403.html ### Mailing lists From 5c892e800d7d8f6b1ed6772908914936abb067ae Mon Sep 17 00:00:00 2001 From: Roman Volkov Date: Wed, 27 Sep 2017 18:43:04 +0500 Subject: [PATCH 02/10] into --- _drafts/2017-09-28-issue-89.md | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/_drafts/2017-09-28-issue-89.md b/_drafts/2017-09-28-issue-89.md index 3f47c056..a75785d9 100644 --- a/_drafts/2017-09-28-issue-89.md +++ b/_drafts/2017-09-28-issue-89.md @@ -4,7 +4,7 @@ title: ! 'Issue #89' author: roman --- -Welcome to the 89 issue of the swift weekly newsletter! +Welcome to the 89 issue of the swift weekly newsletter! This week is quite and calm, no news explosions. Repositories has usual activity, some tasks was started and mailing list rustle. @@ -42,21 +42,9 @@ https://github.com/apple/swift/pull/12030 https://github.com/apple/swift/pull/12115 -### Accepted proposals +### Proposals -> TODO - -### Returned proposals - -> TODO - -### Rejected proposals - -> TODO - -### Proposals in review - -[Review] SE-0176: Remove ownership keyword support in protocols https://lists.swift.org/pipermail/swift-evolution-announce/2017-September/000403.html +No updates on proposals this week. As always, you can check out the [Swift Evolution status page](https://apple.github.io/swift-evolution/) for all the details. ### Mailing lists From f6863cbefd05cc448ba95a794a6754847e3ed10e Mon Sep 17 00:00:00 2001 From: Roman Volkov Date: Wed, 27 Sep 2017 18:53:58 +0500 Subject: [PATCH 03/10] news --- _drafts/2017-09-28-issue-89.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/_drafts/2017-09-28-issue-89.md b/_drafts/2017-09-28-issue-89.md index a75785d9..5f3792c6 100644 --- a/_drafts/2017-09-28-issue-89.md +++ b/_drafts/2017-09-28-issue-89.md @@ -26,15 +26,13 @@ Starter tasks are a great way to get started with contributing to Swift. Ask que in [Episode 30](https://spec.fm/podcasts/swift-unwrapped/87409) hosts Jese Squires and JP Simard with Mike Ash discussed changes in weak references implementation in Swift 4. ### News and community +We can celebrate 10th LLVM [anniversary](https://twitter.com/llvmorg/status/912724943221096448)🎉🎊. Project that makes Swift exists. Keep it up, [LLVM](http://llvm.org). -LLVM anniversary https://twitter.com/llvmorg/status/912724943221096448 +Mike Ash [wrote](https://mikeash.com/pyblog/friday-qa-2017-09-22-swift-4-weak-references.html) great post about changes in Swift weak references implementation from 4th version of language. -Swift weak references https://mikeash.com/pyblog/friday-qa-2015-12-11-swift-weak-references.html - -https://twitter.com/xenadu02/status/911463433521860609 - -https://medium.com/flawless-app-stories/debugging-swift-code-with-lldb-b30c5cf2fd49 +> Weak references are an important language feature. Swift's original implementation was wonderfully clever and had some nice properties, but also had some problems. By adding an optional side table, Swift's engineers were able to solve those problems while keeping the nice, clever properties of the original. The side table implementation also opens up a lot of possibilities for great new features in the future. +[Ahmed Sulaiman](https://medium.com/@ahmedsulaiman) wrote descriptive [blog post: Debugging Swift code with LLDB](https://medium.com/flawless-app-stories/debugging-swift-code-with-lldb-b30c5cf2fd49) about using lldb in general and some unpopular tricks with Swift debugging. You can enhance your debugging skills with it. ### Commits and pull requests @@ -52,4 +50,4 @@ No updates on proposals this week. As always, you can check out the [Swift Evolu ### Finally -> TODO: something funny/fun. tweet, link, etc. +The problem [behind](https://twitter.com/xenadu02/status/911463433521860609) XCode simulator very slow performance is surprising. From e0fcfafde5ce61a04f46c7f68f3b3eb550c7b4b8 Mon Sep 17 00:00:00 2001 From: Roman Volkov Date: Wed, 27 Sep 2017 19:10:48 +0500 Subject: [PATCH 04/10] links to commits --- _drafts/2017-09-28-issue-89.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/_drafts/2017-09-28-issue-89.md b/_drafts/2017-09-28-issue-89.md index 5f3792c6..8a50556d 100644 --- a/_drafts/2017-09-28-issue-89.md +++ b/_drafts/2017-09-28-issue-89.md @@ -36,10 +36,28 @@ Mike Ash [wrote](https://mikeash.com/pyblog/friday-qa-2017-09-22-swift-4-weak-re ### Commits and pull requests +https://github.com/apple/swift/pull/11923 + +https://github.com/apple/swift/pull/12112 + +https://github.com/apple/swift/pull/12101 + +https://github.com/apple/swift/pull/11939 + +https://github.com/apple/swift/pull/12097 + +https://github.com/apple/swift/pull/12093 + +https://github.com/apple/swift/pull/12136 + https://github.com/apple/swift/pull/12030 https://github.com/apple/swift/pull/12115 +https://github.com/apple/swift/pull/12122 + +https://github.com/apple/swift/pull/12123 + ### Proposals No updates on proposals this week. As always, you can check out the [Swift Evolution status page](https://apple.github.io/swift-evolution/) for all the details. From 5d9e33f449999eee4da40701d8ddf6bf26cc01fc Mon Sep 17 00:00:00 2001 From: Roman Volkov Date: Wed, 27 Sep 2017 19:28:18 +0500 Subject: [PATCH 05/10] commits --- _drafts/2017-09-28-issue-89.md | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/_drafts/2017-09-28-issue-89.md b/_drafts/2017-09-28-issue-89.md index 8a50556d..8d221a8d 100644 --- a/_drafts/2017-09-28-issue-89.md +++ b/_drafts/2017-09-28-issue-89.md @@ -36,27 +36,29 @@ Mike Ash [wrote](https://mikeash.com/pyblog/friday-qa-2017-09-22-swift-4-weak-re ### Commits and pull requests -https://github.com/apple/swift/pull/11923 +[Doug Gregor](https://github.com/DougGregor) [opened pull requests](https://github.com/apple/swift/pull/11923) that implements the standard library part of [SE-0157: Recursive Protocol Constraints](https://github.com/apple/swift-evolution/blob/master/proposals/0157-recursive-protocol-constraints.md). +> - Make the SubSequence associated type have the same capabilities as its enclosing protocol, e.g., Sequence.SubSequence conforms to Sequence, Collection.SubSequence conforms to Collection, and so on. +> - Make the Indices associated type have the same traversal requirements as its enclosing protocol, e.g., Collection.Indices conforms to Collection, BidirectionalCollection.Indices conforms to BidirectionalCollection, and so on +> - Make Numeric.Magnitude conform to Numeric +> - Use more efficient SubSequence types for lazy filter and map +> - Eliminate the *Indexable protocols. -https://github.com/apple/swift/pull/12112 +[Joe Groff](https://github.com/jckarter) [fixed](https://github.com/apple/swift/pull/12112) compiler crash in case where code captured *[weak self]* in a closure inside a class method returning dynamic *Self*. -https://github.com/apple/swift/pull/12101 +[Jordan Rose](https://github.com/jrose-apple) [merged pull request](https://github.com/apple/swift/pull/12101) with Swift compiler crash fix in situations with Objective-C inheritence from a typedef for a class/protocol composition as shorthand for inheriting from the class and adopting the protocol. -https://github.com/apple/swift/pull/11939 +[Philippe Hausler](https://github.com/phausler) [made](https://github.com/apple/swift/pull/11939) great improvement into Data slices. This change fixes [SR-5887](SR-5887), [SR-5873](https://bugs.swift.org/browse/SR-5873) and [SR-5810](https://bugs.swift.org/browse/SR-5810). +> Mutation of Data slices had issues when it comes to re-indexing to the base slice region. Previously when a slice of Data was mutated the re-calculation of the slice region was incorrectly assigned to a relative region to the previous backing. Now the slice region will copy the specific region out creating a new data upon CoW semantics and offset the index region upon access. Mutating a non CoW slice will retain the previous region backing but adjust the remaining allocation buffer accordingly. To validate this I have added tests for combinations that should approximate all possible combinations of mutations, backing storages and CoW scenarios. -https://github.com/apple/swift/pull/12097 +[Doug Gregor](https://github.com/DougGregor) [merged pull request](https://github.com/apple/swift/pull/12097) with introduction of caching name lookup for nested types of generic types through the equivalence class. -https://github.com/apple/swift/pull/12093 +[Saleem Abdulrasool](https://github.com/compnerd) [added](https://github.com/apple/swift/pull/12136) improvement into Windows ARM headers to support building the runtime. -https://github.com/apple/swift/pull/12136 +[Slava Pestov](https://github.com/slavapestov) [merged pull request](https://github.com/apple/swift/pull/12030) with preliminary implementation of a code completion fuzzer. -https://github.com/apple/swift/pull/12030 +[Michael Ilseman](https://github.com/milseman) [opened pull request](https://github.com/apple/swift/pull/12115) of prototype implementation for new String comparison. -https://github.com/apple/swift/pull/12115 - -https://github.com/apple/swift/pull/12122 - -https://github.com/apple/swift/pull/12123 +[Kacper Harasim](https://github.com/Kacper20) [merged](https://github.com/apple/swift/pull/12123) pull request with improvements to refactoring. ### Proposals From 80e963abb5b1bf1ff4e842ca272a90f4a5cfa865 Mon Sep 17 00:00:00 2001 From: Roman Volkov Date: Wed, 27 Sep 2017 19:33:59 +0500 Subject: [PATCH 06/10] links to mailing --- _drafts/2017-09-28-issue-89.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/_drafts/2017-09-28-issue-89.md b/_drafts/2017-09-28-issue-89.md index 8d221a8d..d833c86c 100644 --- a/_drafts/2017-09-28-issue-89.md +++ b/_drafts/2017-09-28-issue-89.md @@ -66,7 +66,11 @@ No updates on proposals this week. As always, you can check out the [Swift Evolu ### Mailing lists -> TODO +https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170925/039944.html + +https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170925/039903.html + +https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170918/039874.html answer: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170925/039907.html ### Finally From 9b341eb86876d56416d7f1481f4227f01cc4f0bd Mon Sep 17 00:00:00 2001 From: Roman Volkov Date: Wed, 27 Sep 2017 22:09:58 +0500 Subject: [PATCH 07/10] mailing list descr --- _drafts/2017-09-28-issue-89.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/_drafts/2017-09-28-issue-89.md b/_drafts/2017-09-28-issue-89.md index d833c86c..81a68c4d 100644 --- a/_drafts/2017-09-28-issue-89.md +++ b/_drafts/2017-09-28-issue-89.md @@ -66,11 +66,12 @@ No updates on proposals this week. As always, you can check out the [Swift Evolu ### Mailing lists -https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170925/039944.html +Ben Cohen [revive](https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170925/039944.html) pitch to add *remove(where:)* function into standard library. You can [check](https://github.com/airspeedswift/swift-evolution/blob/0f4a24d6ded2ab7cb39c1a68e0f92705a7615d73/proposals/NNNN-RemoveWhere.md) proposal draft and add yourself into discussion. -https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170925/039903.html - -https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170918/039874.html answer: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170925/039907.html +Swift core team gave [answer](https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170925/039907.html) about [Discussion: Resources](https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170918/039874.html) this week. +> .... +> We're currently defining our roadmap for SwiftPM in Swift 5, and it's not clear yet whether resource support will fit into this year or not, but either way it's clearly something we'll want to do. We're looking to encourage a thriving developer community around the Swift package manager, and we know that this will be important for many uses. If there are other limitations that are currently holding people back, we'd welcome feedback (and contributions!). +> .... ### Finally From 69d789bf20967f41f5cef283b78071fd5a089c23 Mon Sep 17 00:00:00 2001 From: Roman Volkov Date: Thu, 28 Sep 2017 12:02:45 +0500 Subject: [PATCH 08/10] fix --- _drafts/2017-09-28-issue-89.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_drafts/2017-09-28-issue-89.md b/_drafts/2017-09-28-issue-89.md index 81a68c4d..5e0cdaca 100644 --- a/_drafts/2017-09-28-issue-89.md +++ b/_drafts/2017-09-28-issue-89.md @@ -34,6 +34,8 @@ Mike Ash [wrote](https://mikeash.com/pyblog/friday-qa-2017-09-22-swift-4-weak-re [Ahmed Sulaiman](https://medium.com/@ahmedsulaiman) wrote descriptive [blog post: Debugging Swift code with LLDB](https://medium.com/flawless-app-stories/debugging-swift-code-with-lldb-b30c5cf2fd49) about using lldb in general and some unpopular tricks with Swift debugging. You can enhance your debugging skills with it. +The problem [behind](https://twitter.com/xenadu02/status/911463433521860609) XCode simulator very slow performance is surprising. + ### Commits and pull requests [Doug Gregor](https://github.com/DougGregor) [opened pull requests](https://github.com/apple/swift/pull/11923) that implements the standard library part of [SE-0157: Recursive Protocol Constraints](https://github.com/apple/swift-evolution/blob/master/proposals/0157-recursive-protocol-constraints.md). @@ -75,4 +77,4 @@ Swift core team gave [answer](https://lists.swift.org/pipermail/swift-evolution/ ### Finally -The problem [behind](https://twitter.com/xenadu02/status/911463433521860609) XCode simulator very slow performance is surprising. +[Slicing](https://github.com/apple/swift/pull/11939) a CoW should result in fillet mignon not ground chuck. \ No newline at end of file From 82ba9c9a7db5e4008df5c24e5a52dd03200e1531 Mon Sep 17 00:00:00 2001 From: Roman Volkov Date: Thu, 28 Sep 2017 12:06:21 +0500 Subject: [PATCH 09/10] update --- _drafts/2017-09-28-issue-89.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_drafts/2017-09-28-issue-89.md b/_drafts/2017-09-28-issue-89.md index 5e0cdaca..9b367b55 100644 --- a/_drafts/2017-09-28-issue-89.md +++ b/_drafts/2017-09-28-issue-89.md @@ -58,6 +58,8 @@ The problem [behind](https://twitter.com/xenadu02/status/911463433521860609) XCo [Slava Pestov](https://github.com/slavapestov) [merged pull request](https://github.com/apple/swift/pull/12030) with preliminary implementation of a code completion fuzzer. +[Kacper Harasim](https://github.com/Kacper20) [implemented](https://github.com/apple/swift/pull/12128) [SR-5743](https://bugs.swift.org/browse/SR-5743). + [Michael Ilseman](https://github.com/milseman) [opened pull request](https://github.com/apple/swift/pull/12115) of prototype implementation for new String comparison. [Kacper Harasim](https://github.com/Kacper20) [merged](https://github.com/apple/swift/pull/12123) pull request with improvements to refactoring. From 956ab287ad172fc6c625c8bd5a078d0e4962a1c2 Mon Sep 17 00:00:00 2001 From: Jesse Squires Date: Thu, 28 Sep 2017 09:56:41 -0700 Subject: [PATCH 10/10] Update 2017-09-28-issue-89.md --- _drafts/2017-09-28-issue-89.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/_drafts/2017-09-28-issue-89.md b/_drafts/2017-09-28-issue-89.md index 9b367b55..dc36b54c 100644 --- a/_drafts/2017-09-28-issue-89.md +++ b/_drafts/2017-09-28-issue-89.md @@ -4,7 +4,7 @@ title: ! 'Issue #89' author: roman --- -Welcome to the 89 issue of the swift weekly newsletter! This week is quite and calm, no news explosions. Repositories has usual activity, some tasks was started and mailing list rustle. +Welcome to the 89th issue of Swift Weekly Brief! This week was more calm, no news explosions. The repositories and mailing lists had their usual activity. @@ -12,7 +12,7 @@ Welcome to the 89 issue of the swift weekly newsletter! This week is quite and c ### Starter tasks -Starter tasks are a great way to get started with contributing to Swift. Ask questions right in the bug reporting system, and get feedback when you submit your pull request. +Starter tasks are a great way to get started with contributing to Swift. Ask questions directinly in the bug reporting system, and get feedback when you submit your pull request. * [SR-5996](https://bugs.swift.org/browse/SR-5996): Improve compiler error with a fix-it: Cannot assign to value, 'bar' is a 'let' constant * [SR-5995](https://bugs.swift.org/browse/SR-5995): update-checkout --tags should fetch --tags before attempting to find a tag @@ -23,18 +23,19 @@ Starter tasks are a great way to get started with contributing to Swift. Ask que ### Swift Unwrapped -in [Episode 30](https://spec.fm/podcasts/swift-unwrapped/87409) hosts Jese Squires and JP Simard with Mike Ash discussed changes in weak references implementation in Swift 4. +In [Episode 30](https://spec.fm/podcasts/swift-unwrapped/87409) Jese and JP welcome Mike Ash to discuss weak references and the implementation changes that shipped in Swift 4. ### News and community -We can celebrate 10th LLVM [anniversary](https://twitter.com/llvmorg/status/912724943221096448)🎉🎊. Project that makes Swift exists. Keep it up, [LLVM](http://llvm.org). -Mike Ash [wrote](https://mikeash.com/pyblog/friday-qa-2017-09-22-swift-4-weak-references.html) great post about changes in Swift weak references implementation from 4th version of language. +We can celebrate 10th LLVM [anniversary](https://twitter.com/llvmorg/status/912724943221096448)! 🎉 🎊 As you know, Swift and most modern languages are built on top of LLVM. Keep it up, [LLVM](http://llvm.org)! + +Mike Ash [wrote](https://mikeash.com/pyblog/friday-qa-2017-09-22-swift-4-weak-references.html) a great Friday Q&A about the changes in Swift's weak references implementation. (This is the post he discussed on Swift Unwrapped.) > Weak references are an important language feature. Swift's original implementation was wonderfully clever and had some nice properties, but also had some problems. By adding an optional side table, Swift's engineers were able to solve those problems while keeping the nice, clever properties of the original. The side table implementation also opens up a lot of possibilities for great new features in the future. -[Ahmed Sulaiman](https://medium.com/@ahmedsulaiman) wrote descriptive [blog post: Debugging Swift code with LLDB](https://medium.com/flawless-app-stories/debugging-swift-code-with-lldb-b30c5cf2fd49) about using lldb in general and some unpopular tricks with Swift debugging. You can enhance your debugging skills with it. +[Ahmed Sulaiman](https://medium.com/@ahmedsulaiman) wrote a descriptive blog post: [Debugging Swift code with LLDB](https://medium.com/flawless-app-stories/debugging-swift-code-with-lldb-b30c5cf2fd49) about using lldb in general and some unpopular tricks with Swift debugging. Take this chance to enhance your debugging skills! -The problem [behind](https://twitter.com/xenadu02/status/911463433521860609) XCode simulator very slow performance is surprising. +Russ Bishop [shared the problem](https://twitter.com/xenadu02/status/911463433521860609) behind the Xcode 9 simulator's very slow performance — surprising. ### Commits and pull requests @@ -79,4 +80,4 @@ Swift core team gave [answer](https://lists.swift.org/pipermail/swift-evolution/ ### Finally -[Slicing](https://github.com/apple/swift/pull/11939) a CoW should result in fillet mignon not ground chuck. \ No newline at end of file +[Slicing](https://github.com/apple/swift/pull/11939) a CoW should result in fillet mignon not ground chuck.