From 869aa92466a3be79f15e2a2ddc5674ca0bf0ceb2 Mon Sep 17 00:00:00 2001
From: tomquist
Date: Fri, 9 Mar 2018 20:53:29 +0100
Subject: [PATCH 001/613] Time travel back from future (#374)
Hopefully one day Apple will make all our lives more easy: http://www.openradar.me/radar?id=4949404398125056
---
_posts/2018-03-08-issue-104.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_posts/2018-03-08-issue-104.md b/_posts/2018-03-08-issue-104.md
index de346fbb..7e48372d 100644
--- a/_posts/2018-03-08-issue-104.md
+++ b/_posts/2018-03-08-issue-104.md
@@ -31,7 +31,7 @@ Ted Kremenek [announced](https://swift.org/blog/4-2-release-process/) Swift 4.2
Jordan Rose [wrote](http://belkadan.com/blog/2018/02/Many-to-Many-Protocols/) a blog post exploring types with multiple `RawValue`s.
-Ben Asher [shared](https://twitter.com/benasher44/status/968905975724892160) their clean build times (with the "old" build system) decreased by 4 minutes compared to Swift 9.2; from 11 minutes to 7 minutes, that's a 36% speedup!
+Ben Asher [shared](https://twitter.com/benasher44/status/968905975724892160) their clean build times (with the "old" build system) decreased by 4 minutes compared to Xcode 9.2; from 11 minutes to 7 minutes, that's a 36% speedup!
Alfredo Delli Bovi [shared](https://twitter.com/adellibovi/status/969012500682477568) similar results, going from 7 and a half minutes to 5. 🏎
From 5222e11cc70ef032a59198d75d30725a2a483652 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Wed, 14 Mar 2018 00:12:53 +0100
Subject: [PATCH 002/613] Update multiline strings to HEREDOC in Danger (#373)
---
Dangerfile | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/Dangerfile b/Dangerfile
index 29bcc122..89bcc649 100644
--- a/Dangerfile
+++ b/Dangerfile
@@ -3,19 +3,25 @@
is_adding_draft = !(git.added_files.grep(/_drafts/).empty?)
is_editing_draft = !(git.modified_files.grep(/_drafts/).empty?)
if is_editing_draft || is_adding_draft
- warn("Looks like you're editing a draft! 🤓
-**Don't forget** to review [our style guide](https://github.com/SwiftWeekly/swiftweekly.github.io/blob/master/CONTRIBUTING.md#-writing-style-guide) and [publish the issue](https://github.com/SwiftWeekly/swiftweekly.github.io/blob/master/CONTRIBUTING.md#-publishing-an-issue) when you're finished.")
+ editing_message = <<-EOS
+Looks like you're editing a draft! 🤓
+**Don't forget** to review [our style guide](https://github.com/SwiftWeekly/swiftweekly.github.io/blob/master/CONTRIBUTING.md#-writing-style-guide) and [publish the issue](https://github.com/SwiftWeekly/swiftweekly.github.io/blob/master/CONTRIBUTING.md#-publishing-an-issue) when you're finished.
+ EOS
+ warn(editing_message)
end
# Reminders for publishing an issue
is_publishing_issue = !(git.added_files.grep(/_posts/).empty?)
if is_publishing_issue
- warn("Looks like you're publishing a new issue! 🎉
+ publish_message = <<-EOS
+Looks like you're publishing a new issue! 🎉
**Don't forget to:**
1. Review [our style guide](https://github.com/SwiftWeekly/swiftweekly.github.io/blob/master/CONTRIBUTING.md#-writing-style-guide) before merging
2. After you merge, close the GitHub issue notes for this newsletter issue
3. Open the next GitHub issue, add the correct labels, assign it to the next writer
-4. Run the `new_draft.sh` script and push the next draft")
+4. Run the `new_draft.sh` script and push the next draft
+ EOS
+ warn(publish_message)
end
# Check spelling and prose
From 92365d6d8d10017001044a9fe4745136f027e3bf Mon Sep 17 00:00:00 2001
From: Tapan Thaker
Date: Fri, 23 Mar 2018 00:06:31 +0530
Subject: [PATCH 003/613] Issue 105 (#375)
* [105] draft
* [105] draft update
* drafts edits #372
* Move to posts, add more discussion topics
* Remove double spaces
* Minor edits
---
_posts/2018-03-23-issue-105.md | 96 ++++++++++++++++++++++++++++++++++
1 file changed, 96 insertions(+)
create mode 100644 _posts/2018-03-23-issue-105.md
diff --git a/_posts/2018-03-23-issue-105.md b/_posts/2018-03-23-issue-105.md
new file mode 100644
index 00000000..322d6cfa
--- /dev/null
+++ b/_posts/2018-03-23-issue-105.md
@@ -0,0 +1,96 @@
+---
+layout: post
+title: ! 'Issue #105'
+author: tapthaker
+---
+
+Hello again! 👋 This week Apple announced the [WWDC 2018](https://developer.apple.com/wwdc/) which will be held from June 4-8 in San Jose, CA. Doug Gregor and Ben Cohen discussed some insights on the Swift 4.1 release on Swift Unwrapped.
+
+
+
+### Starter tasks
+
+- [SR-7083](https://bugs.swift.org/browse/SR-7083) [Compiler] `lazy` properties can't have observers
+- [SR-7053](https://bugs.swift.org/browse/SR-7053) [Package Manager] SwiftPM command line autocompletion script for `zsh` produces error: "invalid option definition:..." on completion
+- [SR-7015](https://bugs.swift.org/browse/SR-7015) [Compiler] The CoreFoundation conditional downcast diagnostic is not as helpful as it should be
+- [SR-6982](https://bugs.swift.org/browse/SR-6982) [Compiler] Improve internal compiler consistency
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+[50: Swift 4.1 with Doug and Ben (part 1)](https://spec.fm/podcasts/swift-unwrapped/125759): Jesse and JP discuss Swift 4.1 with Ben Cohen and Doug Gregor from the Swift team.
+
+### News and community
+
+[Ted Kremenek](https://twitter.com/tkremenek) [shared](https://twitter.com/tkremenek/status/972519788386836480) some insights on the release plan for Swift 5: the expected release data right now is Late 2018.
+
+[Slava Pestov](https://twitter.com/slava_pestov) [shared](https://twitter.com/slava_pestov/status/975100888007114752) how seemingly similar code (`nil` versus `.none`) can have a big effect under the hood when it comes to code generation.
+
+[Erica Sadun](https://twitter.com/ericasadun) wrote a [blog post](http://ericasadun.com/2018/03/09/swift-evolution-and-civility/) on "Swift Evolution and Civility" regarding the controversy of accepting [SE-0199](https://github.com/apple/swift-evolution/blob/master/proposals/0199-bool-toggle.md): *Adding `toggle` to `Bool`*. Be nice!
+
+### Commits and pull requests
+
+[Karoy Lorentey](https://github.com/lorentey) merged a [pull request](https://github.com/apple/swift/pull/14913) which made Swift use a much higher-quality hashing with random seeding. You can read about this change on the [Swift Forums](https://forums.swift.org/t/psa-the-stdlib-now-uses-randomly-seeded-hash-values/10789).
+
+> "Random seeding" means that `hashValue` properties will return different values on each execution of a Swift program. This is an important tool for improving the reliability of the Standard Library’s hashing collections, `Set` and `Dictionary`. In particular, random seeding enables better protection against (accidental or deliberate) [hash-flooding attacks](https://arstechnica.com/information-technology/2011/12/huge-portions-of-web-vulnerable-to-hashing-denial-of-service-attack/).
+
+[Joe Groff](https://github.com/jckarter) merged a [pull request](https://github.com/apple/swift/pull/15145/) that made generic parameter counts in context descriptors 16-bit from 32-bit, reducing the metadata.
+
+[Doug Gregor](https://github.com/DougGregor) opened a [pull request](https://github.com/apple/swift/pull/15416) that further implement generic `typealias`es. It will be completed once [Slava Pestov](https://github.com/slavapestov)'s [pull request](https://github.com/apple/swift/pull/9866) has been merged too.
+
+[Slava Pestov](https://github.com/slavapestov) merged a [pull request](https://github.com/apple/swift/pull/15313) that cleans up the `@noescape` closure implementation in the Swift Intermediate Language (SIL).
+
+### Accepted proposals
+
+[SE-0194](https://github.com/apple/swift-evolution/blob/master/proposals/0194-derived-collection-of-enum-cases.md) *Derived Collection of Enum Cases* was [accepted](https://forums.swift.org/t/accepted-se-0194-derived-collection-of-enum-cases/10723) with revisions.
+
+> The proposal is accepted with revisions. The specific changes to the proposal as reviewed are:
+>
+> - `@objc` enums defined in Swift will receive automatic synthesis of the list of all cases. [...]
+> - Unavailable cases will not be listed, because values of an unavailable case cannot exist in a well-typed Swift program (in breaks the availability model).
+> - Automatic synthesis is only provided when the conformance is stated on the enum definition (not an extension) [... ]
+> - The protocol, associated type, and property are named `CaseIterable`, `AllCases`, and `allCases`, respectively. The core team felt that these names reflect the primary use case of this protocol, promoting better clarity for most code that iterates over all of the cases. We chose `Iterable` over `Enumerable` because `Enumerable` has some incorrect connotations (e.g., the `enumerated()` method).
+
+### Proposals in review
+
+[SE-0193](https://github.com/apple/swift-evolution/blob/master/proposals/0193-cross-module-inlining-and-specialization.md): *Cross-module inlining and specialization* is [under extended review](https://forums.swift.org/t/se-0193-cross-module-inlining-and-specialization/7310/59).
+
+> This proposal will essentially be accepted as is — except for the name for `@abiPublic`. Many people voiced concern for this name. While it technically is accurate, it exposes the term “abi” which will be foreign to many. It also doesn’t connote the full implications and value of adding the attribute.
+
+[SE-0192](https://github.com/apple/swift-evolution/blob/master/proposals/0192-non-exhaustive-enums.md): *Non-Exhaustive Enums* is in [re-review](https://forums.swift.org/t/se-0192-non-exhaustive-enums/7291).
+
+> The second review is a follow up to the [original review](https://forums.swift.org/t/se-0192-non-exhaustive-enums/7291) based on feedback on the thread and from the Core Team.
+
+### Swift Forums
+
+[Chris Lattner](https://twitter.com/clattner_llvm) [shared](https://forums.swift.org/t/adding-result-to-the-standard-library/6932/55) some insights on the plans to standardize the `Result` type in Swift — and why it may still take some time.
+
+> I personally think it is time to standardize Result, and I believe that several other core team members feel the same way. The major problem with doing so is that is blocked by an unresolved disagreement (in both the core team and community): whether Swift should support typed errors.
+
+[Ankit Aggarwal](https://github.com/aciidb0mb3r) & [Daniel Dunbar](https://github.com/ddunbar) proposed [*Package Manager Extensible Build Tools*](https://github.com/aciidb0mb3r/swift-evolution/blob/extensible-tool/proposals/NNNN-package-manager-extensible-tools.md). This will allow community build tools ([Sourcery](https://github.com/krzysztofzablocki/Sourcery), [SwiftLint](https://github.com/realm/SwiftLint), [Jazzy](https://github.com/realm/jazzy), etcetera) to integrate with the Swift Package Manager. You can contribute & follow the discussion on the [Swift Forums](https://forums.swift.org/t/package-manager-extensible-build-tools/10900).
+
+> This is a proposal for adding package manager support for extensible build tools, i.e. executing tools at build time which were themselves produced by some other package, and whose behavior the package manager does not understood directly, but rather interacts through a well-defined, Swift, protocol.
+>
+> We expect this behavior to greatly enhance our capacity for building complex software packages.
+
+[Graydon Hoare](https://github.com/graydon) [wrote](https://forums.swift.org/t/compilation-speed-help-test-batch-mode/10964) about a new compilation mode called “batch” or “multiple file” mode. There are instructions to try it out in the post.
+
+> This new mode takes the set of files that would normally be (incrementally) compiled with individual subprocesses, and assigns them dynamically to multiple batches (one per core), compiling each batch with a single process. This means that incremental mode is still operative, and compilation makes use of multiple cores, but the benefits of whole-module mode (fewer processes, less redundant work) also apply.
+
+[Erica Sadun](https://github.com/erica) [pitched](https://forums.swift.org/t/pitch-introducing-the-unwrap-or-die-operator-to-the-standard-library/6207) and opened a [pull request](https://github.com/apple/swift-evolution/pull/811) to propose an "Unwrap-or-Die operator".
+
+> Using an operator to provide feedback on the context of a failed unwrap has become a commonly implemented approach in the Swift developer Community. What are your thoughts about adopting this widely-used operator into the standard library?
+
+{% highlight swift %}
+guard !lastItem.isEmpty else { return }
+let lastItem = array.last !! "Array must be non-empty"
+{% endhighlight %}
+
+[Stephen Celis](https://twitter.com/stephencelis) [shared](https://forums.swift.org/t/when-should-standard-library-functions-crash/10661) some thoughts on when a function can/should crash.
+
+> For example: `Dictionary.init(uniqueKeysAndValues😃` crashes on duplicate keys. While I can understand the reasoning to throw somehow on a collision, nothing about the name makes it feel “unsafe.” I’d hope the type system would have my back and use `throws` for these kinds of things.
+
+### Finally
+
+[How big can a view controller get?](https://twitter.com/cocoawithlove/status/974680586966233088) 😆
From f71dc1c41f63f61e0c04fc4fc9f2f9b499f6d619 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 22 Mar 2018 20:42:14 +0100
Subject: [PATCH 004/613] Add 106 draft
---
_drafts/2018-04-05-issue-106.md | 51 +++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 _drafts/2018-04-05-issue-106.md
diff --git a/_drafts/2018-04-05-issue-106.md b/_drafts/2018-04-05-issue-106.md
new file mode 100644
index 00000000..52c656ab
--- /dev/null
+++ b/_drafts/2018-04-05-issue-106.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title: ! 'Issue #106'
+author: gregheo
+---
+
+> TODO: intro comments
+
+
+
+### Starter tasks
+
+> TODO
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+> TODO: Latest episode of Swift Unwrapped
+
+### News and community
+
+> TODO
+
+### Commits and pull requests
+
+> TODO
+
+### Accepted proposals
+
+> TODO
+
+### Returned proposals
+
+> TODO
+
+### Rejected proposals
+
+> TODO
+
+### Proposals in review
+
+> TODO
+
+### Swift Forums
+
+> TODO
+
+### Finally
+
+> TODO: something funny/fun. tweet, link, etc.
From ba949f35d19bf8e2cef1215a442018c76b280436 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Sun, 25 Mar 2018 20:25:04 +0200
Subject: [PATCH 005/613] Remove outdated info from Contributing guidelines
(#378)
---
CONTRIBUTING.md | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 1f29ee86..938bebba 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -2,9 +2,9 @@
*Contributions are welcome and encouraged!*
-First and foremost, please review and abide by [our code of conduct](https://github.com/SwiftWeekly/swiftweekly.github.io/blob/master/CODE_OF_CONDUCT.md).
+Please review and abide by [our code of conduct](https://github.com/SwiftWeekly/swiftweekly.github.io/blob/master/CODE_OF_CONDUCT.md).
-You should have a good understanding of how [Jekyll](http://jekyllrb.com) and [GitHub-Pages](https://pages.github.com) work — or be willing to learn. :smile: We are happy to help you with any questions, just ask!
+You should have a good understanding of how [Jekyll](http://jekyllrb.com) and [GitHub-Pages](https://pages.github.com) work — or be willing to learn. :smile: We are happy to help you with any questions, just ask.
**Suggestions:** Have something you want to share in the newsletter? Please find [the current issue notes](https://github.com/SwiftWeekly/swiftweekly.github.io/issues?q=is%3Aissue+is%3Aopen+label%3A%22current+issue%22) and add a comment. Or you can [open an issue][issueLink] or [submit a pull request][prLink] to the [current draft](https://github.com/SwiftWeekly/swiftweekly.github.io/tree/master/_drafts) with a link and description.
@@ -88,9 +88,9 @@ We encourage all writes to use their own voice and express their own personality
* For "Accepted proposals", "Rejected Proposals", etc. use the format: `SE-NNNN: TITLE was STATUS`.
* **Example:** [SE-0150](https://github.com/apple/swift-evolution/blob/master/proposals/0150-package-manager-branch-support.md): Package Manager Support for branches [was accepted](https://lists.swift.org/pipermail/swift-evolution-announce/2017-February/000315.html).
-## 🕵️♀️ Evaluating ~~mailing list~~ [Swift Forum](https://swift.org/community/#forums) content
+## 🕵️♀️ Evaluating [Swift Forum](https://swift.org/community/#forums) content
-Not all ~~mailing list~~ forum discussions are important and valuable enough to be listed in the newsletter. There can be a lot of noise and bikeshedding that simply is not relevant to readers — or ideas are not solid enough. Try to avoid these and focus on "big picture" ideas and discussions pertinent to current or future proposals.
+Not all forum discussions are important and valuable enough to be listed in the newsletter. There can be a lot of noise and bikeshedding that simply is not relevant to readers — or ideas are not solid enough. Try to avoid these and focus on "big picture" ideas and discussions pertinent to current or future proposals.
Some good indications on whether or not a discussion is worth including:
* There is a lot of activity and replies.
@@ -132,8 +132,6 @@ We use [travis-ci](https://travis-ci.org/SwiftWeekly/swiftweekly.github.io), [da
- Watch all of the main [Apple repositories](https://github.com/apple).
- Follow the prominent [contributors](https://github.com/orgs/apple/people) on GitHub and Twitter.
- Monitor and follow discussions on the [Swift Forums](https://forums.swift.org), and configure your notification settings.
-- ~~Monitor [swift-evolution-announce](https://lists.swift.org/pipermail/swift-evolution-announce/) for important, high-level announcements.~~
-- ~~Skim the other [mailing lists](https://lists.swift.org/mailman/listinfo) periodically. Look for interesting subject lines and Core Team participation in threads.~~
- Starter tasks: check [this filter](https://bugs.swift.org/issues/?filter=10451).
- When in doubt, refer to previous issues for examples.
- Keep a draft running throughout the week, add a little bit of content each day.
From d0df2ae6b29c76608bd198e0cb630c3698d98ac7 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Sun, 25 Mar 2018 20:47:07 +0200
Subject: [PATCH 006/613] Add a GitHub issue generator (#377)
* Add generator
* Add example usage
* Bonus: nit fix
* Clarify usage of access token
* Remove duplicated validation
* Why not.
* Rubocop fixes
* Fix description
* Fix date format
* Also in Contributing
* Set initial options directly
* Update CONTRIBUTING.md
---
CONTRIBUTING.md | 22 +++++++++++-
Gemfile | 3 ++
Gemfile.lock | 4 +++
github_issue_generator.rb | 72 +++++++++++++++++++++++++++++++++++++++
4 files changed, 100 insertions(+), 1 deletion(-)
create mode 100644 github_issue_generator.rb
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 938bebba..23efa294 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -41,13 +41,33 @@ You should have a good understanding of how [Jekyll](http://jekyllrb.com) and [G
Example:
```bash
-# usage: ./new_draft.sh
+# usage: ./new_draft.sh
$ ./new_draft.sh 2016-04-21 19 jsq
# creates _drafts/2016-04-21-issue-19.md
```
+### Generating a GitHub issue
+
+To generate a GitHub access token, see the [GitHub docs](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/).
+
+Example:
+
+```bash
+# usage: export SWIFTWEEKLY_TOKEN=
+
+$ export SWIFTWEEKLY_TOKEN=access_token
+
+# usage: ruby ./github_issue_generator.rb --number= --date=
+
+$ ruby ./github_issue_generator.rb --number=1 --date='December 6, 2015'
+
+# more options and help:
+
+$ ruby ./github_issue_generator.rb --help
+```
+
### Preview the site locally, with drafts
```bash
diff --git a/Gemfile b/Gemfile
index 7f250fd9..b8263355 100644
--- a/Gemfile
+++ b/Gemfile
@@ -4,3 +4,6 @@ gem 'github-pages', '~> 172', group: :jekyll_plugins
gem 'jekyll-sitemap'
gem 'danger'
gem 'danger-prose'
+gem 'claide'
+gem 'octokit'
+gem 'colorize'
diff --git a/Gemfile.lock b/Gemfile.lock
index 2170e13d..578fa422 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -19,6 +19,7 @@ GEM
coffee-script-source (1.11.1)
colorator (1.1.0)
colored2 (3.1.2)
+ colorize (0.8.1)
commonmarker (0.17.7.1)
ruby-enum (~> 0.5)
concurrent-ruby (1.0.5)
@@ -260,10 +261,13 @@ PLATFORMS
ruby
DEPENDENCIES
+ claide
+ colorize
danger
danger-prose
github-pages (~> 172)
jekyll-sitemap
+ octokit
BUNDLED WITH
1.16.1
diff --git a/github_issue_generator.rb b/github_issue_generator.rb
new file mode 100644
index 00000000..45d8d8fd
--- /dev/null
+++ b/github_issue_generator.rb
@@ -0,0 +1,72 @@
+require 'claide'
+require 'date'
+require 'octokit'
+require 'colorize'
+
+class GitHubIssueGenerator < CLAide::Command
+ self.description = 'Generates a GitHub issue for the specified issue number and date.'
+ self.command = 'github-issue'
+
+ def self.options
+ [
+ ['--number=1', 'The issue number to generate the GitHub issue for.'],
+ ['--date=MMMM d, YYYY', "The date of the issue's publication, for example `December 6, 2015`."],
+ ['--future-issue', 'Adds a `future issue` label and omits the `current issue` label.'],
+ ['--no-writer', "Skips adding the runner of this script as the issue's assignee. If `--needs-writer` is set, this option will be ignored."],
+ ['--needs-writer', 'Adds a `needs writer` label and does not assign the runner of this script.']
+ ].concat(super)
+ end
+
+ def initialize(argv)
+ @token = ENV['SWIFTWEEKLY_TOKEN']
+ @number = argv.option('number')
+ @date = argv.option('date')
+ @future_issue = argv.flag?('future-issue', false)
+ @no_writer = argv.flag?('writer', true) == false # false if not supplied
+ @needs_writer = argv.flag?('needs-writer', false)
+ super
+ end
+
+ def validate!
+ super
+ help! 'You must export an access token and store it in the `SWIFTWEEKLY_TOKEN` environment variable.' unless @token
+ help! 'Your access token is invalid.' unless @token.length == 40
+ help! 'The --number and --date flags are required.' unless @number || @date
+ help! 'The --number flag is required.' unless @number
+ help! 'The --date flag is required.' unless @date
+
+ help! 'The --number flag must be a valid number.' if @number.to_i.zero?
+ help! 'The --date flag is not valid. It should follow the MMMM d, YYYY date format, for example `December 6, 2015`.' unless valid_date?(@date)
+ end
+
+ def run
+ repo = 'SwiftWeekly/swiftweekly.github.io'
+ title = "[#{@number}] Issue \##{@number} - #{@date}"
+ body = <<-MD
+To contribute to this issue, simply leave a comment here. Please also review [our contributing guidelines](https://github.com/SwiftWeekly/swiftweekly.github.io/blob/master/CONTRIBUTING.md).
+
+The current draft for this issue in [`_drafts/`](https://github.com/SwiftWeekly/swiftweekly.github.io/tree/master/_drafts). If you want to contribute directly, feel free to [open a pull request](https://github.com/SwiftWeekly/swiftweekly.github.io/compare?expand=1).
+ MD
+
+ labels = ['full issue notes']
+ labels << (@future_issue ? 'future issue' : 'current issue')
+ labels << 'needs writer' if @needs_writer
+
+ octokit = Octokit::Client.new(access_token: @token)
+
+ options = { labels: labels.join(',') }
+ options[:assignee] = octokit.user.login unless @no_writer || @needs_writer
+
+ issue = octokit.create_issue(repo, title, body, options)
+ puts "Issue succesfully created over at #{issue.html_url}.".green
+ puts 'You can press command and double-click the URL to open it in your browser.'
+ end
+
+ private
+
+ def valid_date?(date)
+ !Date.parse(date).nil? rescue false
+ end
+end
+
+GitHubIssueGenerator.run(ARGV)
From 5a3d3d5fb376e35157b8f7ca00e3a93083544c8a Mon Sep 17 00:00:00 2001
From: JP Simard
Date: Wed, 28 Mar 2018 10:01:25 -0700
Subject: [PATCH 007/613] Fix typo
---
_posts/2018-03-23-issue-105.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_posts/2018-03-23-issue-105.md b/_posts/2018-03-23-issue-105.md
index 322d6cfa..bd7f7040 100644
--- a/_posts/2018-03-23-issue-105.md
+++ b/_posts/2018-03-23-issue-105.md
@@ -23,7 +23,7 @@ Hello again! 👋 This week Apple announced the [WWDC 2018](https://developer.ap
### News and community
-[Ted Kremenek](https://twitter.com/tkremenek) [shared](https://twitter.com/tkremenek/status/972519788386836480) some insights on the release plan for Swift 5: the expected release data right now is Late 2018.
+[Ted Kremenek](https://twitter.com/tkremenek) [shared](https://twitter.com/tkremenek/status/972519788386836480) some insights on the release plan for Swift 5: the expected release date right now is Late 2018.
[Slava Pestov](https://twitter.com/slava_pestov) [shared](https://twitter.com/slava_pestov/status/975100888007114752) how seemingly similar code (`nil` versus `.none`) can have a big effect under the hood when it comes to code generation.
From b2247607a63e633ad469d8f30b6d4b968c65d8a9 Mon Sep 17 00:00:00 2001
From: Greg Heo
Date: Tue, 3 Apr 2018 22:35:26 -0700
Subject: [PATCH 008/613] [106] First pass, issue draft
---
_drafts/2018-04-05-issue-106.md | 42 ++++++++++++++++++++++++++++-----
1 file changed, 36 insertions(+), 6 deletions(-)
diff --git a/_drafts/2018-04-05-issue-106.md b/_drafts/2018-04-05-issue-106.md
index 52c656ab..7b8bd834 100644
--- a/_drafts/2018-04-05-issue-106.md
+++ b/_drafts/2018-04-05-issue-106.md
@@ -4,22 +4,39 @@ title: ! 'Issue #106'
author: gregheo
---
-> TODO: intro comments
+There’s been plenty of news to make developers experience the full range of emotions: Xcode 9.3 with Swift 4.1 made it out of the gate, the WWDC lottery smiled on some, and caused gnashing of teeth in others.
+
+Meanwhile, Swift 4.2 and beyond await us. As a reminder, the final merge into the Swift 4.2 branch before a soak period is [coming up in two weeks, on April 20](https://swift.org/blog/4-2-release-process/).
+
+What’s new in the world of Swift? Read on!
+
### Starter tasks
-> TODO
+- [SR-7323](https://bugs.swift.org/browse/SR-7323): SPM can't handle spaces in path to Xcode
+- [SR-7307](https://bugs.swift.org/browse/SR-7307): Warn when a block contains nothing but a defer statement
+- [SR-7301](https://bugs.swift.org/browse/SR-7301): Bad fixit suggested for protocol extension implementation for inherited objc protocol
+- [SR-7292](https://bugs.swift.org/browse/SR-7292): Swift local refactoring: adding field-wise initializers automatically
+- [SR-7266](https://bugs.swift.org/browse/SR-7266): `reversed()` applied multiple times should not nest `ReversedCollection` into itself
{% include task_remind.html %}
+
### Swift Unwrapped
-> TODO: Latest episode of Swift Unwrapped
+[Episode 51](https://spec.fm/podcasts/swift-unwrapped/125760) is the long-awaited Part 2 of Doug Gregor and Ben Cohen discussing Swift 4.1.
+
+In [Episode 52](https://spec.fm/podcasts/swift-unwrapped/129738), JP and Jesse cover two now pitches regarding Swift Package Manager.
+
### News and community
+Languages & Runtime manager [Ted Kremenek](https://twitter.com/tkremenek) shared photos of some [new office decorations over at Swift HQ](https://twitter.com/tkremenek/status/977268865066450944). 🤖
+
+
+
> TODO
### Commits and pull requests
@@ -40,12 +57,25 @@ author: gregheo
### Proposals in review
-> TODO
+[SE-0201](https://github.com/apple/swift-evolution/blob/master/proposals/0201-package-manager-local-dependencies.md): _Package Manager Local Dependencies_ by [Ankit Aggarwal](https://github.com/aciidb0mb3r) is out of its review period and [awaiting results](https://forums.swift.org/t/se-0201-package-manager-local-dependencies/11286).
+
+This proposal would allow you to declare a package dependency via a local path rather than a remote URL.
+
+
+[SE-0202](https://github.com/apple/swift-evolution/blob/master/proposals/0202-random-unification.md): _Random Unification_ by [Alejandro Alonso](https://github.com/Azoy) is just out of review, [awaiting results](https://forums.swift.org/t/se-0202-random-unification/11313).
+
+This proposal adds `random()` static function to numeric types and collections, a `shuffled()` method to sequences, as well as a `shuffle()` method to mutable collections.
+
### Swift Forums
-> TODO
+[Soroush Khanlou](https://twitter.com/khanlou) [pitched an addition to `Sequence`](https://forums.swift.org/t/count-where-on-sequence/11186) to provide `count(where:)`:
+
+> While Swift’s Sequence models brings a lot of niceties that we didn’t have access to in Objective-C, like `map` and `filter`, there are other useful operations on Sequences that the standard library doesn’t support yet. I’d like to pitch one today: `count(where:)`, which counts the number of objects in a Sequence that passes some test.
+>
+> `[1, 2, 3, -1, -2].count(where: { $0 > 0 }) // => 3`
+
### Finally
-> TODO: something funny/fun. tweet, link, etc.
+I can’t wait for `#error` and `#warning` to land in Swift 4.2, but in the meantime [at least there’s Swift support for `#lolcode`](https://github.com/CodaFi/swift/blob/72f19c9565ae7da1fe8bb7a4d02ff51cec9caa54/test/Interpreter/lolcode.swift). 😹
From f5f6246bc86208389f281cde48a2209b81eb7aee Mon Sep 17 00:00:00 2001
From: Greg Heo
Date: Wed, 4 Apr 2018 07:52:09 -0700
Subject: [PATCH 009/613] [106] Moar draft
---
_drafts/2018-04-05-issue-106.md | 49 +++++++++++++++++++++++++++++----
1 file changed, 43 insertions(+), 6 deletions(-)
diff --git a/_drafts/2018-04-05-issue-106.md b/_drafts/2018-04-05-issue-106.md
index 7b8bd834..f0ffa6fe 100644
--- a/_drafts/2018-04-05-issue-106.md
+++ b/_drafts/2018-04-05-issue-106.md
@@ -4,7 +4,9 @@ title: ! 'Issue #106'
author: gregheo
---
-There’s been plenty of news to make developers experience the full range of emotions: Xcode 9.3 with Swift 4.1 made it out of the gate, the WWDC lottery smiled on some, and caused gnashing of teeth in others.
+> TK insert poem here
+
+There’s been plenty of news to make developers experience the full range of emotions: [Xcode 9.3](https://developer.apple.com/news/releases/?id=03292018d) with [Swift 4.1](https://swift.org/blog/swift-4-1-released/) made it out of the gate, the WWDC lottery smiled on some, and caused gnashing of teeth in others.
Meanwhile, Swift 4.2 and beyond await us. As a reminder, the final merge into the Swift 4.2 branch before a soak period is [coming up in two weeks, on April 20](https://swift.org/blog/4-2-release-process/).
@@ -35,21 +37,34 @@ In [Episode 52](https://spec.fm/podcasts/swift-unwrapped/129738), JP and Jesse c
Languages & Runtime manager [Ted Kremenek](https://twitter.com/tkremenek) shared photos of some [new office decorations over at Swift HQ](https://twitter.com/tkremenek/status/977268865066450944). 🤖
+TK Swift for TensorFlow
+https://forums.swift.org/t/introducing-swift-for-tensorflow/11550
-> TODO
-
### Commits and pull requests
-> TODO
+[Greg Titus](https://github.com/gregomni) fixed a [compiler crash](https://github.com/apple/swift/pull/15488) that happened when a `case` statement had both `let` and `var` [bindings for the same name](https://bugs.swift.org/browse/SR-7261).
+
+[Stephen Canon](https://github.com/stephentyrone) merged a change to how `description` and `debugDescription` [display floating-point values](https://github.com/apple/swift/pull/15474). A fascinating read into a fast and simple algorithm, and be sure to check out the chart showing the performance gains! 😍
+
+[Karoy Lorentey](https://github.com/lorentey) merged his pull request to add [conditional conformance to `Hashable` in more standard library types](https://github.com/apple/swift/pull/15382). Optionals, arrays, dictionaries, and ranges (among other types) can now participate in [synthesized `Hashable` conformance](https://forums.swift.org/t/amendment-se-0143-conditional-conformance-add-hashable-conformance-to-std-lib-types/11401).
+
+[Mark Lacey](https://github.com/rudkx) landed a change to [fix type checking going exponential](https://github.com/apple/swift/pull/15419) for tuple literals. One fewer case of Xcode complaining that a type check took too long? ⏱
+
+[Michael Ilseman](https://github.com/milseman) added the [new `SmallString` type to the standard library](https://github.com/apple/swift/pull/14755). The type is supported on 64-bit architectures and offers optimizations specific for (you guessed it) small strings.
+
### Accepted proposals
-> TODO
+TK SE-0201
+https://forums.swift.org/t/accepted-se-0201-package-manager-local-dependencies/11629
+
### Returned proposals
-> TODO
+TK SE-0200
+https://forums.swift.org/t/returned-for-revision-se-0200-raw-mode-string-literals/11630
+
### Rejected proposals
@@ -67,6 +82,21 @@ This proposal would allow you to declare a package dependency via a local path r
This proposal adds `random()` static function to numeric types and collections, a `shuffled()` method to sequences, as well as a `shuffle()` method to mutable collections.
+TK 203
+https://forums.swift.org/t/se-0203-rename-sequence-elementsequal/11482
+
+TK 204
+https://forums.swift.org/t/se-0204-add-last-where-and-lastindex-where-methods/11486
+
+
+[Joe Groff]() [suggested a proposal to add `offset(of:)` to `MemoryLayout`](https://github.com/apple/swift-evolution/pull/818/files?diff=unified).
+
+> This proposal introduces the ability for Swift code to query the in-memory layout of stored properties in aggregates using key paths.
+>
+> `MemoryLayout.offset(of: \.origin.x) // => 0`
+> `MemoryLayout.offset(of: \.origin.y) // => 8`
+
+
### Swift Forums
[Soroush Khanlou](https://twitter.com/khanlou) [pitched an addition to `Sequence`](https://forums.swift.org/t/count-where-on-sequence/11186) to provide `count(where:)`:
@@ -76,6 +106,13 @@ This proposal adds `random()` static function to numeric types and collections,
> `[1, 2, 3, -1, -2].count(where: { $0 > 0 }) // => 3`
+[Michael Ilseman]() wrote a pitch for [character and string properties](https://forums.swift.org/t/pitch-character-and-string-properties/11620). This would add support for some handy computed properties such as `isWhitespace` and `isAscii` on characters, and helper structs and methods on strings to split lines and words.
+
+Why not reach into string and character properties and do all this yourself? Short answer: Unicode is hard.
+
+> [There] is potential harm in developers reaching for these properties to solve common tasks without understanding their deep implications in Unicode. Whenever possible, we believe the best form of harm-reduction is providing more ergonomic APIs with more appropriate semantics for these common tasks.
+
+
### Finally
I can’t wait for `#error` and `#warning` to land in Swift 4.2, but in the meantime [at least there’s Swift support for `#lolcode`](https://github.com/CodaFi/swift/blob/72f19c9565ae7da1fe8bb7a4d02ff51cec9caa54/test/Interpreter/lolcode.swift). 😹
From f37be0b9d3ccc78ef695c5e3932f7e618eb92896 Mon Sep 17 00:00:00 2001
From: Greg Heo
Date: Wed, 4 Apr 2018 20:08:06 -0700
Subject: [PATCH 010/613] [106] More words. Need final edit & poem.
---
_drafts/2018-04-05-issue-106.md | 42 ++++++++++++++++++++-------------
1 file changed, 26 insertions(+), 16 deletions(-)
diff --git a/_drafts/2018-04-05-issue-106.md b/_drafts/2018-04-05-issue-106.md
index f0ffa6fe..5225de9c 100644
--- a/_drafts/2018-04-05-issue-106.md
+++ b/_drafts/2018-04-05-issue-106.md
@@ -37,9 +37,9 @@ In [Episode 52](https://spec.fm/podcasts/swift-unwrapped/129738), JP and Jesse c
Languages & Runtime manager [Ted Kremenek](https://twitter.com/tkremenek) shared photos of some [new office decorations over at Swift HQ](https://twitter.com/tkremenek/status/977268865066450944). 🤖
-TK Swift for TensorFlow
-https://forums.swift.org/t/introducing-swift-for-tensorflow/11550
+[Chris Lattner](https://twitter.com/clattner_llvm) announced [Swift for TensorFlow](https://groups.google.com/a/tensorflow.org/forum/#!topic/swift/xtXCEvtDe5Q), bringing first-class language support for the machine learning framework. Aside from the post, you can also check out [the video](https://www.youtube.com/watch?list=PLQY2H8rRoyvxjVx3zfw4vA4cvlKogyLNN&v=Yze693W4MaU) from Chris and Richard Wei at the TensorFlow Dev Summit 2018.
+[try! Swift San Jose](https://www.tryswift.co/events/2018/sanjose/) was announced, with a focus on Swift Evolution and all the other Swift open source projects.
### Commits and pull requests
@@ -56,37 +56,47 @@ https://forums.swift.org/t/introducing-swift-for-tensorflow/11550
### Accepted proposals
-TK SE-0201
-https://forums.swift.org/t/accepted-se-0201-package-manager-local-dependencies/11629
+[SE-0192](https://github.com/apple/swift-evolution/blob/master/proposals/0192-non-exhaustive-enums.md): _Non-Exhaustive Enums_ is [out of re-review and has been accepted with revisions](https://forums.swift.org/t/se-0192-non-exhaustive-enums-review-2/11043/62).
+This proposal introduces _frozen_ vs _non-frozen_ enumerations, and the final revisions add the new `@unknown` attribute.
-### Returned proposals
+[SE-0201](https://github.com/apple/swift-evolution/blob/master/proposals/0201-package-manager-local-dependencies.md): _Package Manager Local Dependencies_ by [Ankit Aggarwal](https://github.com/aciidb0mb3r) was [accepted](https://forums.swift.org/t/accepted-se-0201-package-manager-local-dependencies/11629).
-TK SE-0200
-https://forums.swift.org/t/returned-for-revision-se-0200-raw-mode-string-literals/11630
+This proposal would allow you to declare a package dependency via a local path rather than a remote URL.
-### Rejected proposals
+### Returned proposals
-> TODO
+[SE-0200](https://github.com/apple/swift-evolution/blob/master/proposals/0200-raw-string-escaping.md): _"Raw" mode string literals_ by [John Holdsworth](https://github.com/johnno1962) was [returned for revision](https://forums.swift.org/t/returned-for-revision-se-0200-raw-mode-string-literals/11630).
-### Proposals in review
+This proposal had a ton of discussion in the thread. The two main reasons for returning the proposal for revision were:
-[SE-0201](https://github.com/apple/swift-evolution/blob/master/proposals/0201-package-manager-local-dependencies.md): _Package Manager Local Dependencies_ by [Ankit Aggarwal](https://github.com/aciidb0mb3r) is out of its review period and [awaiting results](https://forums.swift.org/t/se-0201-package-manager-local-dependencies/11286).
+> - The proposed `r"..."` syntax didn’t fit well with the rest of the language
+> - The proposal itself leans heavily on regular expressions as a use case for raw string literals... a revised proposal will need additional motivating examples in other domains.
-This proposal would allow you to declare a package dependency via a local path rather than a remote URL.
+### Proposals in review
[SE-0202](https://github.com/apple/swift-evolution/blob/master/proposals/0202-random-unification.md): _Random Unification_ by [Alejandro Alonso](https://github.com/Azoy) is just out of review, [awaiting results](https://forums.swift.org/t/se-0202-random-unification/11313).
This proposal adds `random()` static function to numeric types and collections, a `shuffled()` method to sequences, as well as a `shuffle()` method to mutable collections.
-TK 203
-https://forums.swift.org/t/se-0203-rename-sequence-elementsequal/11482
+[SE-0203](https://github.com/apple/swift-evolution/blob/master/proposals/0203-rename-sequence-elements-equal.md): _Rename Sequence.elementsEqual_ is [in review](https://forums.swift.org/t/se-0203-rename-sequence-elementsequal/11482).
+
+This proposal would remove a point of confusion where `==` and `elementsEqual` could return different results.
+
+> Having surveyed alternative solutions to this problem, it is proposed that the method be renamed to `Sequence.elementsEqualInIterationOrder`.
+
+
+[SE-0204](https://github.com/apple/swift-evolution/blob/master/proposals/0204-add-last-methods.md): _Add last(where:) and lastIndex(where:) Methods_ by Nate Cook is [in review](https://forums.swift.org/t/se-0204-add-last-where-and-lastindex-where-methods/11486).
+
+We already have methods `first(where:)` and `index(where:)`, and this proposal would add similar methods to search from the end rather than from the beginning.
+
+
+[SE-0206](https://github.com/apple/swift-evolution/blob/78332d211d00abac286c47609ce1a88a03c6e9bf/proposals/0206-hashable-enhancements.md): _Hashable Enhancements_ by Karoy Lorentey and Vincent Esche is [in review until April 13](https://forums.swift.org/t/se-0206-hashable-enhancements/11675).
-TK 204
-https://forums.swift.org/t/se-0204-add-last-where-and-lastindex-where-methods/11486
+> This proposal introduces a new `Hasher` type representing the standard library's universal hash function, and it extends the `Hashable` protocol with a new `hash(into:)` requirement that expresses hashing in terms of `Hasher`. [...] Standardizing on a single, high-quality hash function greatly improves the reliability of `Set` and `Dictionary`.
[Joe Groff]() [suggested a proposal to add `offset(of:)` to `MemoryLayout`](https://github.com/apple/swift-evolution/pull/818/files?diff=unified).
From eac251366aa88dd1ff0f6c6aa7fde31442b47d6d Mon Sep 17 00:00:00 2001
From: Greg Heo
Date: Thu, 5 Apr 2018 05:04:28 -0700
Subject: [PATCH 011/613] [106] Final edits
---
_drafts/2018-04-05-issue-106.md | 36 +++++++++++++++++++++------------
1 file changed, 23 insertions(+), 13 deletions(-)
diff --git a/_drafts/2018-04-05-issue-106.md b/_drafts/2018-04-05-issue-106.md
index 5225de9c..c8398ac2 100644
--- a/_drafts/2018-04-05-issue-106.md
+++ b/_drafts/2018-04-05-issue-106.md
@@ -4,9 +4,15 @@ title: ! 'Issue #106'
author: gregheo
---
-> TK insert poem here
+> Lo! The forum posts and pitches fly on by
+> What rants and revelations there await?
+> Swift 5 remains a glimmer in the sky
+> As compactMap arrives to disorientate.
+>
+> New Xcode versions, filled with all-new fix-its
+> And random numbers, ascribing golden tickets.
-There’s been plenty of news to make developers experience the full range of emotions: [Xcode 9.3](https://developer.apple.com/news/releases/?id=03292018d) with [Swift 4.1](https://swift.org/blog/swift-4-1-released/) made it out of the gate, the WWDC lottery smiled on some, and caused gnashing of teeth in others.
+There’s been plenty of news to make developers experience the full range of emotions: [Xcode 9.3](https://developer.apple.com/news/releases/?id=03292018d) with [Swift 4.1](https://swift.org/blog/swift-4-1-released/) made it out of the gate, the WWDC ticket lottery smiled on some and caused gnashing of teeth in others.
Meanwhile, Swift 4.2 and beyond await us. As a reminder, the final merge into the Swift 4.2 branch before a soak period is [coming up in two weeks, on April 20](https://swift.org/blog/4-2-release-process/).
@@ -30,14 +36,14 @@ What’s new in the world of Swift? Read on!
[Episode 51](https://spec.fm/podcasts/swift-unwrapped/125760) is the long-awaited Part 2 of Doug Gregor and Ben Cohen discussing Swift 4.1.
-In [Episode 52](https://spec.fm/podcasts/swift-unwrapped/129738), JP and Jesse cover two now pitches regarding Swift Package Manager.
+In [Episode 52](https://spec.fm/podcasts/swift-unwrapped/129738), JP and Jesse cover two new pitches regarding Swift Package Manager.
### News and community
Languages & Runtime manager [Ted Kremenek](https://twitter.com/tkremenek) shared photos of some [new office decorations over at Swift HQ](https://twitter.com/tkremenek/status/977268865066450944). 🤖
-[Chris Lattner](https://twitter.com/clattner_llvm) announced [Swift for TensorFlow](https://groups.google.com/a/tensorflow.org/forum/#!topic/swift/xtXCEvtDe5Q), bringing first-class language support for the machine learning framework. Aside from the post, you can also check out [the video](https://www.youtube.com/watch?list=PLQY2H8rRoyvxjVx3zfw4vA4cvlKogyLNN&v=Yze693W4MaU) from Chris and Richard Wei at the TensorFlow Dev Summit 2018.
+[Chris Lattner](https://twitter.com/clattner_llvm) announced [Swift for TensorFlow](https://groups.google.com/a/tensorflow.org/forum/#!topic/swift/xtXCEvtDe5Q), bringing first-class compiler and language support for the machine learning framework. Aside from the post, you can also check out [the video announcement](https://www.youtube.com/watch?list=PLQY2H8rRoyvxjVx3zfw4vA4cvlKogyLNN&v=Yze693W4MaU) from Chris and Richard Wei presented at the TensorFlow Dev Summit 2018.
[try! Swift San Jose](https://www.tryswift.co/events/2018/sanjose/) was announced, with a focus on Swift Evolution and all the other Swift open source projects.
@@ -45,7 +51,7 @@ Languages & Runtime manager [Ted Kremenek](https://twitter.com/tkremenek) shared
[Greg Titus](https://github.com/gregomni) fixed a [compiler crash](https://github.com/apple/swift/pull/15488) that happened when a `case` statement had both `let` and `var` [bindings for the same name](https://bugs.swift.org/browse/SR-7261).
-[Stephen Canon](https://github.com/stephentyrone) merged a change to how `description` and `debugDescription` [display floating-point values](https://github.com/apple/swift/pull/15474). A fascinating read into a fast and simple algorithm, and be sure to check out the chart showing the performance gains! 😍
+[Stephen Canon](https://github.com/stephentyrone) merged a change to how `description` and `debugDescription` [display floating-point values](https://github.com/apple/swift/pull/15474). The diff is a fascinating read into a fast and simple algorithm, and be sure to check out the chart showing the performance gains! 😍
[Karoy Lorentey](https://github.com/lorentey) merged his pull request to add [conditional conformance to `Hashable` in more standard library types](https://github.com/apple/swift/pull/15382). Optionals, arrays, dictionaries, and ranges (among other types) can now participate in [synthesized `Hashable` conformance](https://forums.swift.org/t/amendment-se-0143-conditional-conformance-add-hashable-conformance-to-std-lib-types/11401).
@@ -62,7 +68,7 @@ This proposal introduces _frozen_ vs _non-frozen_ enumerations, and the final re
[SE-0201](https://github.com/apple/swift-evolution/blob/master/proposals/0201-package-manager-local-dependencies.md): _Package Manager Local Dependencies_ by [Ankit Aggarwal](https://github.com/aciidb0mb3r) was [accepted](https://forums.swift.org/t/accepted-se-0201-package-manager-local-dependencies/11629).
-This proposal would allow you to declare a package dependency via a local path rather than a remote URL.
+This proposal allows you to declare a package dependency via a local path rather than a remote URL.
### Returned proposals
@@ -71,7 +77,7 @@ This proposal would allow you to declare a package dependency via a local path r
This proposal had a ton of discussion in the thread. The two main reasons for returning the proposal for revision were:
-> - The proposed `r"..."` syntax didn’t fit well with the rest of the language
+> - The proposed `r"..."` syntax didn’t fit well with the rest of the language.
> - The proposal itself leans heavily on regular expressions as a use case for raw string literals... a revised proposal will need additional motivating examples in other domains.
@@ -82,14 +88,14 @@ This proposal had a ton of discussion in the thread. The two main reasons for re
This proposal adds `random()` static function to numeric types and collections, a `shuffled()` method to sequences, as well as a `shuffle()` method to mutable collections.
-[SE-0203](https://github.com/apple/swift-evolution/blob/master/proposals/0203-rename-sequence-elements-equal.md): _Rename Sequence.elementsEqual_ is [in review](https://forums.swift.org/t/se-0203-rename-sequence-elementsequal/11482).
+[SE-0203](https://github.com/apple/swift-evolution/blob/master/proposals/0203-rename-sequence-elements-equal.md): _Rename Sequence.elementsEqual_ by [Xiaodi Wu](https://github.com/xwu) is [in review](https://forums.swift.org/t/se-0203-rename-sequence-elementsequal/11482).
-This proposal would remove a point of confusion where `==` and `elementsEqual` could return different results.
+This proposal would remove a point of confusion where `==` and `elementsEqual(_:)` could return different results.
> Having surveyed alternative solutions to this problem, it is proposed that the method be renamed to `Sequence.elementsEqualInIterationOrder`.
-[SE-0204](https://github.com/apple/swift-evolution/blob/master/proposals/0204-add-last-methods.md): _Add last(where:) and lastIndex(where:) Methods_ by Nate Cook is [in review](https://forums.swift.org/t/se-0204-add-last-where-and-lastindex-where-methods/11486).
+[SE-0204](https://github.com/apple/swift-evolution/blob/master/proposals/0204-add-last-methods.md): _Add last(where:) and lastIndex(where:) Methods_ by [Nate Cook](https://github.com/natecook1000) is [in review](https://forums.swift.org/t/se-0204-add-last-where-and-lastindex-where-methods/11486).
We already have methods `first(where:)` and `index(where:)`, and this proposal would add similar methods to search from the end rather than from the beginning.
@@ -104,6 +110,7 @@ We already have methods `first(where:)` and `index(where:)`, and this proposal w
> This proposal introduces the ability for Swift code to query the in-memory layout of stored properties in aggregates using key paths.
>
> `MemoryLayout.offset(of: \.origin.x) // => 0`
+>
> `MemoryLayout.offset(of: \.origin.y) // => 8`
@@ -118,11 +125,14 @@ We already have methods `first(where:)` and `index(where:)`, and this proposal w
[Michael Ilseman]() wrote a pitch for [character and string properties](https://forums.swift.org/t/pitch-character-and-string-properties/11620). This would add support for some handy computed properties such as `isWhitespace` and `isAscii` on characters, and helper structs and methods on strings to split lines and words.
-Why not reach into string and character properties and do all this yourself? Short answer: Unicode is hard.
+Why not reach into string and character properties and do all this yourself? Short answer: Unicode is hard. 😓
> [There] is potential harm in developers reaching for these properties to solve common tasks without understanding their deep implications in Unicode. Whenever possible, we believe the best form of harm-reduction is providing more ergonomic APIs with more appropriate semantics for these common tasks.
-### Finally
+A few weeks ago, [Graydon Hoare](https://twitter.com/graydon_pub) posted about the new [compiler batch mode](https://forums.swift.org/t/compilation-speed-help-test-batch-mode/10964) that could speed up your Swift compile times. The thread has a lot of real-world results from people trying things out on their own code bases; have a look if you’re interested in what might be coming up in future releases.
+
+
+### O RLY?
-I can’t wait for `#error` and `#warning` to land in Swift 4.2, but in the meantime [at least there’s Swift support for `#lolcode`](https://github.com/CodaFi/swift/blob/72f19c9565ae7da1fe8bb7a4d02ff51cec9caa54/test/Interpreter/lolcode.swift). 😹
+Finally: I can’t wait for `#error` and `#warning` to land in Swift 4.2, but in the meantime [at least there’s Swift support for `#lolcode`](https://github.com/CodaFi/swift/blob/72f19c9565ae7da1fe8bb7a4d02ff51cec9caa54/test/Interpreter/lolcode.swift). 😹
From 252e9e710b1559e5ec986f5a7c6a155f2d642844 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 5 Apr 2018 17:56:57 +0200
Subject: [PATCH 012/613] Final edits
---
_drafts/2018-04-05-issue-106.md | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/_drafts/2018-04-05-issue-106.md b/_drafts/2018-04-05-issue-106.md
index c8398ac2..c39cebbf 100644
--- a/_drafts/2018-04-05-issue-106.md
+++ b/_drafts/2018-04-05-issue-106.md
@@ -104,8 +104,12 @@ We already have methods `first(where:)` and `index(where:)`, and this proposal w
> This proposal introduces a new `Hasher` type representing the standard library's universal hash function, and it extends the `Hashable` protocol with a new `hash(into:)` requirement that expresses hashing in terms of `Hasher`. [...] Standardizing on a single, high-quality hash function greatly improves the reliability of `Set` and `Dictionary`.
+[SE-0207](https://github.com/apple/swift-evolution/blob/master/proposals/0207-containsOnly.md): *Add a `containsOnly` algorithm to `Sequence`* by Ben Cohen is [under review](https://forums.swift.org/t/se-0207-add-a-containsonly-algorithm-to-sequence/11686).
-[Joe Groff]() [suggested a proposal to add `offset(of:)` to `MemoryLayout`](https://github.com/apple/swift-evolution/pull/818/files?diff=unified).
+> It is common to want to confirm that every element of a sequence equals a value, or matches a certain criteria. Many implementations of this can be found in use on GitHub. This proposal adds such a method to `Sequence`.
+
+
+[Joe Groff](https://twitter.com/jckarter) [suggested a proposal to add `offset(of:)` to `MemoryLayout`](https://github.com/apple/swift-evolution/pull/818/files?diff=unified).
> This proposal introduces the ability for Swift code to query the in-memory layout of stored properties in aggregates using key paths.
>
@@ -123,7 +127,7 @@ We already have methods `first(where:)` and `index(where:)`, and this proposal w
> `[1, 2, 3, -1, -2].count(where: { $0 > 0 }) // => 3`
-[Michael Ilseman]() wrote a pitch for [character and string properties](https://forums.swift.org/t/pitch-character-and-string-properties/11620). This would add support for some handy computed properties such as `isWhitespace` and `isAscii` on characters, and helper structs and methods on strings to split lines and words.
+[Michael Ilseman](https://twitter.com/ilseman) wrote a pitch for [character and string properties](https://forums.swift.org/t/pitch-character-and-string-properties/11620). This would add support for some handy computed properties such as `isWhitespace` and `isAscii` on characters, and helper structs and methods on strings to split lines and words.
Why not reach into string and character properties and do all this yourself? Short answer: Unicode is hard. 😓
From 40512723d66d2e38e154a4c5182560cfe53e61d1 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 5 Apr 2018 18:58:27 +0200
Subject: [PATCH 013/613] Publish 106 (#380)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Create 2018-04-05-issue-106.md
* Delete 2018-04-05-issue-106.md
* [106] Final final tweaks 🚀
---
{_drafts => _posts}/2018-04-05-issue-106.md | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
rename {_drafts => _posts}/2018-04-05-issue-106.md (94%)
diff --git a/_drafts/2018-04-05-issue-106.md b/_posts/2018-04-05-issue-106.md
similarity index 94%
rename from _drafts/2018-04-05-issue-106.md
rename to _posts/2018-04-05-issue-106.md
index c39cebbf..f527e08c 100644
--- a/_drafts/2018-04-05-issue-106.md
+++ b/_posts/2018-04-05-issue-106.md
@@ -14,7 +14,7 @@ author: gregheo
There’s been plenty of news to make developers experience the full range of emotions: [Xcode 9.3](https://developer.apple.com/news/releases/?id=03292018d) with [Swift 4.1](https://swift.org/blog/swift-4-1-released/) made it out of the gate, the WWDC ticket lottery smiled on some and caused gnashing of teeth in others.
-Meanwhile, Swift 4.2 and beyond await us. As a reminder, the final merge into the Swift 4.2 branch before a soak period is [coming up in two weeks, on April 20](https://swift.org/blog/4-2-release-process/).
+Meanwhile, Swift 4.2 and beyond await us. As a reminder, the final merge into the Swift 4.2 branch before the soak period is [coming up in two weeks, on April 20](https://swift.org/blog/4-2-release-process/).
What’s new in the world of Swift? Read on!
@@ -43,7 +43,7 @@ In [Episode 52](https://spec.fm/podcasts/swift-unwrapped/129738), JP and Jesse c
Languages & Runtime manager [Ted Kremenek](https://twitter.com/tkremenek) shared photos of some [new office decorations over at Swift HQ](https://twitter.com/tkremenek/status/977268865066450944). 🤖
-[Chris Lattner](https://twitter.com/clattner_llvm) announced [Swift for TensorFlow](https://groups.google.com/a/tensorflow.org/forum/#!topic/swift/xtXCEvtDe5Q), bringing first-class compiler and language support for the machine learning framework. Aside from the post, you can also check out [the video announcement](https://www.youtube.com/watch?list=PLQY2H8rRoyvxjVx3zfw4vA4cvlKogyLNN&v=Yze693W4MaU) from Chris and Richard Wei presented at the TensorFlow Dev Summit 2018.
+[Chris Lattner](https://twitter.com/clattner_llvm) announced [Swift for TensorFlow](https://groups.google.com/a/tensorflow.org/forum/#!topic/swift/xtXCEvtDe5Q), bringing first-class compiler and language support for the machine learning framework. Aside from the post, you can also [watch the video announcement](https://www.youtube.com/watch?list=PLQY2H8rRoyvxjVx3zfw4vA4cvlKogyLNN&v=Yze693W4MaU) presented at the TensorFlow Dev Summit 2018 by Chris and Richard Wei.
[try! Swift San Jose](https://www.tryswift.co/events/2018/sanjose/) was announced, with a focus on Swift Evolution and all the other Swift open source projects.
@@ -104,10 +104,24 @@ We already have methods `first(where:)` and `index(where:)`, and this proposal w
> This proposal introduces a new `Hasher` type representing the standard library's universal hash function, and it extends the `Hashable` protocol with a new `hash(into:)` requirement that expresses hashing in terms of `Hasher`. [...] Standardizing on a single, high-quality hash function greatly improves the reliability of `Set` and `Dictionary`.
+
[SE-0207](https://github.com/apple/swift-evolution/blob/master/proposals/0207-containsOnly.md): *Add a `containsOnly` algorithm to `Sequence`* by Ben Cohen is [under review](https://forums.swift.org/t/se-0207-add-a-containsonly-algorithm-to-sequence/11686).
> It is common to want to confirm that every element of a sequence equals a value, or matches a certain criteria. Many implementations of this can be found in use on GitHub. This proposal adds such a method to `Sequence`.
+Instead of this:
+
+{% highlight swift %}
+// every element is 9
+!nums.contains { $0 != 9 }
+{% endhighlight %}
+
+You'll be able to do this:
+
+{% highlight swift %}
+nums.containsOnly(9)
+{% endhighlight %}
+
[Joe Groff](https://twitter.com/jckarter) [suggested a proposal to add `offset(of:)` to `MemoryLayout`](https://github.com/apple/swift-evolution/pull/818/files?diff=unified).
From 46d141dcc98006e3a6c5d683e1ef3fad6d576c57 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Tue, 10 Apr 2018 21:29:48 +0200
Subject: [PATCH 014/613] 107 draft
---
_drafts/2018-04-19-issue-107.md | 51 +++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 _drafts/2018-04-19-issue-107.md
diff --git a/_drafts/2018-04-19-issue-107.md b/_drafts/2018-04-19-issue-107.md
new file mode 100644
index 00000000..30471668
--- /dev/null
+++ b/_drafts/2018-04-19-issue-107.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title: ! 'Issue #107'
+author: btb
+---
+
+> TODO: intro comments
+
+
+
+### Starter tasks
+
+> TODO
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+> TODO: Latest episode of Swift Unwrapped
+
+### News and community
+
+> TODO
+
+### Commits and pull requests
+
+> TODO
+
+### Accepted proposals
+
+> TODO
+
+### Returned proposals
+
+> TODO
+
+### Rejected proposals
+
+> TODO
+
+### Proposals in review
+
+> TODO
+
+### Swift Forums
+
+> TODO
+
+### Finally
+
+> TODO: something funny/fun. tweet, link, etc.
From f1a5380971ccbf7579f7c93fb9ad6327197e08f8 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 19 Apr 2018 18:40:17 +0200
Subject: [PATCH 015/613] Issue 107 (#383)
* 107 Draft update
* Fill out SE-0208 and 0209
* Add 201 accepted and finally
* Add Swift Unwrapped e54
* Intro, starter tasks, more proposals, forums
* Update 2018-04-19-issue-107.md
* Update 2018-04-19-issue-107.md
---
_drafts/2018-04-19-issue-107.md | 91 ++++++++++++++++++++++++++++-----
1 file changed, 77 insertions(+), 14 deletions(-)
diff --git a/_drafts/2018-04-19-issue-107.md b/_drafts/2018-04-19-issue-107.md
index 30471668..778c9403 100644
--- a/_drafts/2018-04-19-issue-107.md
+++ b/_drafts/2018-04-19-issue-107.md
@@ -4,48 +4,111 @@ title: ! 'Issue #107'
author: btb
---
-> TODO: intro comments
+Over the last two weeks we have seen a lot of proposals that have been discussed (and accepted), and it is likely we will see many of these proposals being released in either Swift 4.2 or Swift 5.
### Starter tasks
-> TODO
+- [SR-7445](https://bugs.swift.org/browse/SR-7445) [Compiler] Call Expressions Need Better Assignment Diagnostics
+- [SR-7398](https://bugs.swift.org/browse/SR-7398) [Compiler] Preserve availability on ObjC subscript getters and setters
{% include task_remind.html %}
### Swift Unwrapped
-> TODO: Latest episode of Swift Unwrapped
+In [Episode 53](https://spec.fm/podcasts/swift-unwrapped/130955) Jesse and JP discuss Swift for Tensorflow, which was announced in a talk by Chris Lattner at TensorFlow Dev Summit 2019.
+
+In [Episode 54](https://spec.fm/podcasts/swift-unwrapped/130967) Jesse and JP discuss some of the recent proposals on `Collection` and `Sequence`.
### News and community
-> TODO
+[Slava Pestov](https://twitter.com/slava_pestov) wrote [a blog post](https://medium.com/@slavapestov/behind-the-scenes-improvements-in-swift-4-1-269dd56e30c2) on some of the less-visible improvements in Swift 4.1.
+
+[Brian Gesiak](https://twitter.com/modocache) wrote [a blog post](https://modocache.io/swift-compiler-diagnostics-part-1) on how the Swift compiler emits diagnostics.
### Commits and pull requests
-> TODO
+[Pavel Yaskevich](https://github.com/xedin) merged [a pull request](https://github.com/apple/swift/pull/15843) that makes progresson fully implementing [SE-0110](https://github.com/apple/swift-evolution/blob/master/proposals/0110-distingish-single-tuple-arg.md): *Distinguish between single-tuple and multiple-argument function types*.
+
+[Slava Pestov](https://twitter.com/slava_pestov) merged [a pull request](https://github.com/apple/swift/pull/15894) to improve the Swift Intermediate Language ([SIL](https://github.com/apple/swift/blob/master/docs/SIL.rst))'s deserialization in `-Onone` mode — by 25% on a large project with batch mode! 👏
### Accepted proposals
-> TODO
+[SE-0201](https://github.com/apple/swift-evolution/blob/master/proposals/0201-package-manager-local-dependencies.md): *Package Manager Local Dependencies* was [accepted](https://forums.swift.org/t/se-0201-package-manager-local-dependencies/11286/17).
+
+> Feedback was positive, and the proposal is accepted. Thanks to everyone who participated!
+
+[SE-0205](https://github.com/apple/swift-evolution/blob/master/proposals/0205-withUnsafePointer-for-lets.md): *`withUnsafePointer(to:_:)` and `withUnsafeBytes(of:_:)` for immutable values* was [accepted](https://forums.swift.org/t/accepted-se-0205-withunsafepointer-to-and-withunsafebytes-of-for-immutable-values/11966).
+
+> The review of this proposal is now over and the proposal has been accepted.
+>
+> Thanks for everyone for participating in the review.
+
+[SE-0206](https://github.com/apple/swift-evolution/blob/master/proposals/0206-hashable-enhancements.md): *Hashable Enhancements* was [accepted with revisions](https://forums.swift.org/t/accepted-se-0206-hashable-enhancements/11675/115).
+
+> `init(seed:)`'s behavior may be misleading to users who expect it to enable deterministic hashing, and has no real benefit over a collection implementation seeding the hasher directly with combine calls.
+>
+> [..] the many `combine(bits:)`overloads on `Hasher` that take fixed-sized integers don’t need to be public API.
+>
+> The core team recommends that `Hasher.finalize()` be made a `__consuming` nonmutating method instead of a mutating method that invalidates the `Hasher` value.
+>
+> Thanks again to everyone for participating in the review!
+
+[SE-0208](https://github.com/apple/swift-evolution/blob/master/proposals/0208-package-manager-system-library-targets.md): *Package Manager System Library Targets* was [under review](https://forums.swift.org/t/se-0208-package-manager-system-library-targets/11735) and consequently [accepted](https://forums.swift.org/t/se-0208-package-manager-system-library-targets/11735/16).
+
+> This proposal introduces a new type of target "system library target", which moves the current system-module packages feature from package to target level.
+>
+> The package manager currently supports "system-module packages" which are intended to adapt a system installed dependency to work with the package manager. However, this feature is only supported on package declarations, which mean libraries that need it often need to create a separate repository containing the system package and refer to it as a dependency.
+>
+> Our original motivation in forcing system packages to be declared as standalone packages was to encourage the ecosystem to standardize on them, their names, their repository locations, and their owners. In practice, this effort did not work out and it only made the package manager harder to use.
-### Returned proposals
+---
+
+> Feedback was positive, and the proposal is accepted. Thanks to everyone who participated!
+
+[SE-0209](https://github.com/apple/swift-evolution/blob/master/proposals/0209-package-manager-swift-lang-version-update.md): *Package Manager Swift Language Version API Update* was [under review](https://forums.swift.org/t/se-0209-package-manager-swift-language-version-api-update/11815) and consequently [accepted with revisions](https://forums.swift.org/t/accepted-se-0209-package-manager-swift-language-version-api-update/11962).
-> TODO
+> This proposal changes the current `Package.swift` manifest API for declaring for Swift language versions from freeform Integer array to a new `SwiftVersion` enum array.
+>
+> The Swift compiler now allows `4.2` as an accepted value of Swift version flag (`-swift-version`). The `swiftLanguageVersions` API in `Package.swift` currently accepts an integer array and we need to update this API in order for packages to declare this language version if required.
+
+---
-### Rejected proposals
+> Feedback was positive, and the proposal is accepted with revisions. Thanks to everyone who participated!
+>
+> We considered making `SwiftVersion` a struct which conforms to `ExpressibleByIntegerLiteral` and `ExpressibleByStringLiteral`. However, we think the enum approach is better for several reasons:
+>
+> - It is consistent with the C/C++ language version settings.
+> - The package authors can easily tell which versions are available.
+> - The package authors don't need to concern themselves with how to spell a valid version.
-> TODO
+### Extended proposals
-### Proposals in review
+The review of [SE-0202](https://github.com/apple/swift-evolution/blob/master/proposals/0202-random-unification.md): *Random Unification* was [extended](https://forums.swift.org/t/se-0202-random-unification/11313/149) to get feedback on its design.
-> TODO
+> The nature of the generator API implies that the generators must be reference-y, since they aren’t passed inout to functions like `shuffle`, but aren’t *required* to be reference types.
+>
+> The team thinks making the `random(in: Range)` family free functions, rather than static methods on `T`, may help with discoverability.
+>
+> The team felt that `Collection.randomElement` would work better than `Collection.random`. Unlike `.first` or `.max`, the word “random” doesn’t noun well, so adding “Element” improves readability.
+>
+> The core team believes it would be better to leave implementation details of the default source to the individual platforms, rather than defining the implementation for each platform as part of the proposal.
### Swift Forums
-> TODO
+[Erica Sadun](http://twitter.com/ericasadun/status/970754573609484288) pitched [a proposal](https://forums.swift.org/t/introducing-role-keywords-to-reduce-hard-to-find-bugs/6113) to introduce keywords in protocols that help eliminate bugs.
+
+> We'd love to know what you think of our idea, which is to introduce "role" keywords. Roles allow the compiler to automatically check the intended use of a extension member definition against its protocol declarations, and emit errors, warnings, and fixits as needed.
+
+Erica also [shared some thoughts](https://forums.swift.org/t/rfd-countedset/11792) about adding a `CountedSet` to Swift.
+
+> I’m looking to take the community temperature about adding `CountedSet` to Swift Foundation/Standard Library.
+
+[Joey KL](https://github.com/JoeyKL) pitched [a proposal](https://forums.swift.org/t/rename-protocols-that-use-self-or-associated-types-to-constraints-and-declare-them-as-such/11944) to rename protocols that use `Self` or associated types to "constraints".
+
+> There are two different types of protocols in Swift and they behave completely differently. Normal protocols are like any other type, use dynamic dispatch and allow for heterogenous mixtures of different implementations (similar to objects that inherit from the same base class). On the other hand, constraint protocols (distinguished only by having an `associatedtype`, or even more subtle, just using `Self`) use static dispatch, can never be used like a type, and can only be used to restrict which real types can be used for a generic function or new concrete type.
### Finally
-> TODO: something funny/fun. tweet, link, etc.
+Swift's goal [really is world domination](https://twitter.com/Javi/status/985563399533686786)... 🏎
From 535d29b29f32030fc6ff472bd7459b57af469d67 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 19 Apr 2018 18:41:32 +0200
Subject: [PATCH 016/613] Publish 107 (#384)
---
{_drafts => _posts}/2018-04-19-issue-107.md | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename {_drafts => _posts}/2018-04-19-issue-107.md (100%)
diff --git a/_drafts/2018-04-19-issue-107.md b/_posts/2018-04-19-issue-107.md
similarity index 100%
rename from _drafts/2018-04-19-issue-107.md
rename to _posts/2018-04-19-issue-107.md
From 88009666bcfb2c03f4dc94ebc7e83d635bb774a7 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Fri, 20 Apr 2018 09:11:51 +0200
Subject: [PATCH 017/613] Add 108 draft
---
_drafts/2018-05-04-issue-108.md | 51 +++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 _drafts/2018-05-04-issue-108.md
diff --git a/_drafts/2018-05-04-issue-108.md b/_drafts/2018-05-04-issue-108.md
new file mode 100644
index 00000000..2b0bb5cb
--- /dev/null
+++ b/_drafts/2018-05-04-issue-108.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title: ! 'Issue #108'
+author: btb
+---
+
+> TODO: intro comments
+
+
+
+### Starter tasks
+
+> TODO
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+> TODO: Latest episode of Swift Unwrapped
+
+### News and community
+
+> TODO
+
+### Commits and pull requests
+
+> TODO
+
+### Accepted proposals
+
+> TODO
+
+### Returned proposals
+
+> TODO
+
+### Rejected proposals
+
+> TODO
+
+### Proposals in review
+
+> TODO
+
+### Swift Forums
+
+> TODO
+
+### Finally
+
+> TODO: something funny/fun. tweet, link, etc.
From 478cad8d43aacfc2da1dc149ea1dd91fa29e43d3 Mon Sep 17 00:00:00 2001
From: Jesse Squires
Date: Sun, 29 Apr 2018 12:08:08 -0700
Subject: [PATCH 018/613] Remove google analytics (#386)
Meant to do this the other week but forgot.
See: https://www.jessesquires.com/blog/removing-google-analytics-too/
---
_includes/head.html | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/_includes/head.html b/_includes/head.html
index 04a5a0c3..42e5c371 100644
--- a/_includes/head.html
+++ b/_includes/head.html
@@ -70,13 +70,4 @@
-
-
From b31af7412a8d8eb95fd33d51492abc2747c9ded0 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Tue, 1 May 2018 12:33:08 +0200
Subject: [PATCH 019/613] Update 2018-02-22-issue-103.md
---
_posts/2018-02-22-issue-103.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_posts/2018-02-22-issue-103.md b/_posts/2018-02-22-issue-103.md
index 801a4d43..76bce34d 100644
--- a/_posts/2018-02-22-issue-103.md
+++ b/_posts/2018-02-22-issue-103.md
@@ -58,7 +58,7 @@ Takeru Chuganji [merged](https://github.com/apple/swift/pull/13272) a pull reque
> For `Bool` variables, it is common to want to toggle the state of the variable. In larger (nested) structs, the duplication involved can become especially annoying:
-{% highlight swift %}
+{% highlight swift %}
myVar.prop1.prop2.enabled = !myVar.prop1.prop2.enabled
{% endhighlight %}
From 818877d41dbe55169aaf03679332f91230ad4ebf Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 3 May 2018 18:25:19 +0200
Subject: [PATCH 020/613] Add draft for issue 108 (#387)
* Add draft for issue 108
* Update 2018-05-04-issue-108.md
* Update 2018-05-04-issue-108.md
* Update 2018-05-04-issue-108.md
* Move to posts
---
_drafts/2018-05-04-issue-108.md | 51 -------------
_posts/2018-05-04-issue-108.md | 130 ++++++++++++++++++++++++++++++++
2 files changed, 130 insertions(+), 51 deletions(-)
delete mode 100644 _drafts/2018-05-04-issue-108.md
create mode 100644 _posts/2018-05-04-issue-108.md
diff --git a/_drafts/2018-05-04-issue-108.md b/_drafts/2018-05-04-issue-108.md
deleted file mode 100644
index 2b0bb5cb..00000000
--- a/_drafts/2018-05-04-issue-108.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-layout: post
-title: ! 'Issue #108'
-author: btb
----
-
-> TODO: intro comments
-
-
-
-### Starter tasks
-
-> TODO
-
-{% include task_remind.html %}
-
-### Swift Unwrapped
-
-> TODO: Latest episode of Swift Unwrapped
-
-### News and community
-
-> TODO
-
-### Commits and pull requests
-
-> TODO
-
-### Accepted proposals
-
-> TODO
-
-### Returned proposals
-
-> TODO
-
-### Rejected proposals
-
-> TODO
-
-### Proposals in review
-
-> TODO
-
-### Swift Forums
-
-> TODO
-
-### Finally
-
-> TODO: something funny/fun. tweet, link, etc.
diff --git a/_posts/2018-05-04-issue-108.md b/_posts/2018-05-04-issue-108.md
new file mode 100644
index 00000000..7150a123
--- /dev/null
+++ b/_posts/2018-05-04-issue-108.md
@@ -0,0 +1,130 @@
+---
+layout: post
+title: ! 'Issue #108'
+author: btb
+---
+
+Another two weeks have passed since the last issue, and its now May. How time flies! WWDC is creeping up, while the Swift team is still hard at work on Swift 4.2 and Swift 5.
+
+
+
+### Starter tasks
+
+- [SR-7559](https://bugs.swift.org/browse/SR-7559) [Package Manager] Building `swiftpm` requires `rsync`, and crashes with an obscure message if not found
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+In [episode 55](https://spec.fm/podcasts/swift-unwrapped/136613), Jesse and JP discuss [SE-0202](https://github.com/apple/swift-evolution/blob/master/proposals/0202-random-unification.md), *Random Unification*.
+
+In [episode 56](https://spec.fm/podcasts/swift-unwrapped/136614), Jesse and JP discuss [SE-0206](https://github.com/apple/swift-evolution/blob/master/proposals/0206-hashable-enhancements.md), *Hashable Enhancements*.
+
+### News and community
+
+[Paul Hudson](https://twitter.com/twostraws) created [a website](https://www.whatsnewinswift.com/) to show a nice overview of what's new in Swift, browsable by version!
+
+[Mark Lacey](https://github.com/rudkx) wrote a [blog post](https://swift.org/blog/iuo/) on the official Swift blog, dicussing the reimplementation of Implicitly Unwrapped Optionals.
+
+Google [announced](https://github.com/tensorflow/swift) Tensorflow for Swift. To learn more about it, check out [the Design Overview](https://github.com/tensorflow/swift/blob/master/docs/DesignOverview.md).
+
+
+### Commits and pull requests
+
+[Michael Ilseman](https://github.com/milseman) merged [a pull request](https://github.com/apple/swift/pull/16226) that removes some `@inline` annotations, speeding up the compiler.
+
+[Doug Gregor](https://github.com/DougGregor) merged [a pull request](https://github.com/apple/swift/pull/16249) that lays the grouwork to eliminate `SubstitutionList`, the old representation for a mapping of generic parameters to concrete types. To learn more about this, check out this [Twitter thread](https://twitter.com/slava_pestov/status/991148638683381760).
+
+[Pavel Yaskevich](https://github.com/xedin) merged [a pull request](https://github.com/apple/swift/pull/16300) that improves exhaustiveness checking in `switch`es.
+
+### Accepted proposals
+
+[SE-0202](https://github.com/apple/swift-evolution/blob/master/proposals/0202-random-unification.md): *Random Unification* was [accepted with revisions](https://forums.swift.org/t/accepted-se-202-random-unification/12040).
+
+> The core team has accepted this proposal, with the following revisions:
+>
+> - The method to get a random element from a collection should be named `Collection.randomElement() -> Element?`
+>
+> - Since not all platforms will be able to provide an implementation of random that’s a cryptographically secure source of randomness, and that different platforms and users have different priorities, the decision of exactly which implementation to use for the default random number generator will be left to that platform’s implementation of Swift.
+>
+> - The core team decided to keep the proposal’s use of static methods.
+>
+> - The random number generator argument should be taken `inout`.
+
+[SE-0207](https://github.com/apple/swift-evolution/blob/master/proposals/0207-containsOnly.md): *Add a `containsOnly` algorithm to `Sequence`* was [accepted with revisions](https://forums.swift.org/t/se-0207-add-a-containsonly-algorithm-to-sequence/11686/102)
+
+> The core team accepted one of the two proposed Sequence extensions, with a different name than was proposed:
+
+{% highlight swift %}
+extension Sequence {
+ /// Returns a Boolean value indicating whether every element of the sequence
+ /// satisfies the given predicate.
+ func allSatisfy(_ predicate: (Element) throws -> Bool) rethrows -> Bool
+}
+{% endhighlight %}
+
+### Proposals in review
+
+[SE-0210](https://github.com/apple/swift-evolution/blob/master/proposals/0210-key-path-offset.md): *Add an `offset(of:)` method to `MemoryLayout`* is [under review](https://forums.swift.org/t/review-se-0210-add-an-offset-of-method-to-memorylayout/12023).
+
+> This proposal introduces the ability for Swift code to query the in-memory layout of stored properties in aggregates using key paths. Like the `offsetof` macro in C, `MemoryLayout.offset(of:)` returns the distance in bytes between a pointer to a value and a pointer to one of its fields.
+
+[SE-0211](https://github.com/apple/swift-evolution/blob/master/proposals/0211-unicode-scalar-properties.md): *Add Unicode Properties to `Unicode.Scalar`* is [under review](https://forums.swift.org/t/se-0211-add-unicode-properties-to-unicode-scalar/12121).
+
+> We propose adding a number of properties to the `Unicode.Scalar` type to support both common and advanced text processing use cases, filling in a number of gaps in Swift's text support compared to other programming languages.
+>
+> The Swift String type, and related types like `Character` and `Unicode.Scalar`, provide very rich support for Unicode-correct operations. String comparisons are normalized, grapheme cluster boundaries are automatically detected, and string contents can be easily accessed in terms of grapheme clusters, code points, and UTF-8 and -16 code units.
+>
+> However, when drilling down to lower levels, like individual code points (i.e., `Unicode.Scalar` elements), the current APIs are missing a number of fundamental features available in other programming languages. `Unicode.Scalar` lacks the ability to ask whether a scalar is upper/lowercase or what its upper/lowercase mapping is, if it is a whitespace character, and so forth.
+
+[SE-0212](https://github.com/apple/swift-evolution/blob/master/proposals/0212-compiler-version-directive.md): *Compiler Version Directive* is [under review](https://forums.swift.org/t/se-0212-compiler-version-directive/12267).
+
+> This proposal introduces a `compiler` directive that is syntactically equivalent to the `#if swift` version check but checks against the version of the compiler, regardless of which compatibility mode it's currently running in.
+>
+> The `#if swift` check allows conditionally compiling code depending on the version of the language. Prior to Swift 4, the version of the compiler and the language were one and the same. But since Swift 4, the compiler can run in a compatibility mode for previous Swift versions, introducing an new version dimension. To support code across multiple compiler versions and compatibility modes, extra language versions are regularly introduced to represent old language versions running under compatibility mode.
+
+### Swift Forums
+
+[Soroush Khanlou](https://github.com/khanlou) pitched [a proposal](https://forums.swift.org/t/count-where-on-sequence/11186) to add `count(where:)` to `Sequence`.
+
+> While Swift’s `Sequence` models brings a lot of niceties that we didn’t have access to in Objective-C, like map and filter, there are other useful operations on `Sequence`s that the standard library doesn’t support yet. I’d like to pitch one today: `count(where:)`, which counts the number of objects in a Sequence that passes some test.
+
+You can read the proposal [here](https://github.com/khanlou/swift-evolution/blob/count-where/proposals/XXXX-count-where.md).
+
+[Doug Gregor](https://github.com/DougGregor) wrote [a request for discussion](https://forums.swift.org/t/implicit-escaping-of-closures-via-objective-c/12025) regarding an issue with non-escaping closure parameters can escape through Objective-C.
+
+> The easiest way to see the problem is to define an `@objc` protocol with a closure-taking method:
+
+{% highlight swift %}
+@objc protocol Fooable {
+ func foo(completion: () -> Void) // note: closure parameter is implicitly '@noescape'
+}
+
+func useFooable(fooable: Fooable, completion: () -> Void) {
+ fooable.foo(completion: completion)
+}
+{% endhighlight %}
+
+> And then implement that protocol in Objective-C
+
+{% highlight objc %}
+@interface MyClass : NSObject
+@end
+
+@implementation MyClass
+- (void)fooWithCompletion:(void (^)(void))completion {
+ dispatch_async(dispatch_get_main_queue(), completion); // oops, we escaped a no-escape block!
+}
+@end
+{% endhighlight %}
+
+> [..] I see a couple of potential solutions here, which aren’t mutually exclusive:
+>
+> - Implicitly use `withoutActuallyEscaping` when calling an `@objc` API from Swift
+> - Warn about non-escaping closure parameters in `@objc` entry points that can be implemented in Objective-C
+>
+> Thoughts?
+
+### Finally
+
+Lets open the wound [on access control](https://twitter.com/jckarter/status/988828156386684928) again, shall we? 😂
From 22b65607ac0222f4b7587af59fc644dcfcf79686 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Fri, 4 May 2018 08:12:05 +0200
Subject: [PATCH 021/613] Initial draft for issue 109
---
_drafts/2018-05-17-issue-109.md | 51 +++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 _drafts/2018-05-17-issue-109.md
diff --git a/_drafts/2018-05-17-issue-109.md b/_drafts/2018-05-17-issue-109.md
new file mode 100644
index 00000000..88ee7471
--- /dev/null
+++ b/_drafts/2018-05-17-issue-109.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title: ! 'Issue #109'
+author: btb
+---
+
+> TODO: intro comments
+
+
+
+### Starter tasks
+
+> TODO
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+> TODO: Latest episode of Swift Unwrapped
+
+### News and community
+
+> TODO
+
+### Commits and pull requests
+
+> TODO
+
+### Accepted proposals
+
+> TODO
+
+### Returned proposals
+
+> TODO
+
+### Rejected proposals
+
+> TODO
+
+### Proposals in review
+
+> TODO
+
+### Swift Forums
+
+> TODO
+
+### Finally
+
+> TODO: something funny/fun. tweet, link, etc.
From 6772f8fae42875b79cd9b7e64333d4475e1360ab Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Fri, 4 May 2018 20:49:53 +0200
Subject: [PATCH 022/613] Rename 2018-05-04-issue-108.md to
2018-05-03-issue-108.md
---
_posts/{2018-05-04-issue-108.md => 2018-05-03-issue-108.md} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename _posts/{2018-05-04-issue-108.md => 2018-05-03-issue-108.md} (100%)
diff --git a/_posts/2018-05-04-issue-108.md b/_posts/2018-05-03-issue-108.md
similarity index 100%
rename from _posts/2018-05-04-issue-108.md
rename to _posts/2018-05-03-issue-108.md
From 12221d6046087067ef36fd9c9b8c351fe66d3ed8 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Wed, 16 May 2018 22:18:41 +0200
Subject: [PATCH 023/613] Update new_draft.sh
---
new_draft.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/new_draft.sh b/new_draft.sh
index 94aa3043..22745f6d 100755
--- a/new_draft.sh
+++ b/new_draft.sh
@@ -61,7 +61,7 @@ author: $3
### Swift Unwrapped
-> TODO: Latest episode of Swift Unwrapped
+> TODO: Latest episode(s) of Swift Unwrapped
### News and community
From e0a2430f18c838eab4234e741c7504dc4cd5e106 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 17 May 2018 18:39:18 +0200
Subject: [PATCH 024/613] Issue 109 (#391)
* Issue 109
* Update 2018-05-17-issue-109.md
* Update 2018-05-17-issue-109.md
* Update 2018-05-17-issue-109.md
---
_drafts/2018-05-17-issue-109.md | 51 --------------
_posts/2018-05-17-issue-109.md | 117 ++++++++++++++++++++++++++++++++
2 files changed, 117 insertions(+), 51 deletions(-)
delete mode 100644 _drafts/2018-05-17-issue-109.md
create mode 100644 _posts/2018-05-17-issue-109.md
diff --git a/_drafts/2018-05-17-issue-109.md b/_drafts/2018-05-17-issue-109.md
deleted file mode 100644
index 88ee7471..00000000
--- a/_drafts/2018-05-17-issue-109.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-layout: post
-title: ! 'Issue #109'
-author: btb
----
-
-> TODO: intro comments
-
-
-
-### Starter tasks
-
-> TODO
-
-{% include task_remind.html %}
-
-### Swift Unwrapped
-
-> TODO: Latest episode of Swift Unwrapped
-
-### News and community
-
-> TODO
-
-### Commits and pull requests
-
-> TODO
-
-### Accepted proposals
-
-> TODO
-
-### Returned proposals
-
-> TODO
-
-### Rejected proposals
-
-> TODO
-
-### Proposals in review
-
-> TODO
-
-### Swift Forums
-
-> TODO
-
-### Finally
-
-> TODO: something funny/fun. tweet, link, etc.
diff --git a/_posts/2018-05-17-issue-109.md b/_posts/2018-05-17-issue-109.md
new file mode 100644
index 00000000..16cc4922
--- /dev/null
+++ b/_posts/2018-05-17-issue-109.md
@@ -0,0 +1,117 @@
+---
+layout: post
+title: ! 'Issue #109'
+author: btb
+---
+
+I'm starting to get more excited about WWDC by the day right now. Looking forward to meeting people and learning about all new technologies and APIs that we will be seeing. It feels so long ago since last year's WWDC!
+
+Also, if you're there too, feel free to say hi! 👋
+
+That being said, here is another two weeks of interesting Open Source Swift news, including another few awesome proposals (I am not complaining, but what happened with that [March 1 "deadline"](https://github.com/apple/swift-evolution#evolution-process-for-swift-5)?) and interesting announcements.
+
+Enjoy!
+
+
+
+### Starter tasks
+
+- [SR-7562](https://bugs.swift.org/browse/SR-7562) [Compiler] `@discardableResult` is disregarded for a required init method
+- [SR-7574](https://bugs.swift.org/browse/SR-7574) [Compiler] Use libfuzzer on the demangler
+- [SR-7624](https://bugs.swift.org/browse/SR-7624) [Compiler] Fixits for 'Argument passed to call that takes no arguments'
+- [SR-7629](https://bugs.swift.org/browse/SR-7629) [Compiler] Wrong fixit when the type doesn't conform to a public protocol
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+In [episode 57](https://spec.fm/podcasts/swift-unwrapped/141585), Jesse and JP discuss the Swift for TensorFlow Design Overview that we mentioned two weeks ago.
+
+In [episode 58](https://spec.fm/podcasts/swift-unwrapped/144196), Jesse and JP discuss the reimplentation of Implicitly Unwrapped Optionals (IUOs) in Swift, and what that brings us.
+
+### News and community
+
+[Nicole Jacque])(https://github.com/najacque/) and [Mishal Shah](https://twitter.com/mishaldshah/) announced [a community hosted Swift continuous integration](https://twitter.com/SwiftLang/status/992166029613674497) to make it easier to support more platforms for Swift.
+
+[Ted Kremenek](https://twitter.com/tkremenek) announced that Swift for TensorFlow [will be developed](https://forums.swift.org/t/swift-for-tensorflow-to-be-developed-on-tensorflow-branch-on-apple-swift-on-github/12595) on a `tensorflow` branch on apple/swift, allowing closer collaborations among the Swift and TensorFlow teams.
+
+[Brian Gesiak](https://twitter.com/modocache) wrote [an article](https://modocache.io/llvm-memory-buffer) on how Swift and Clang use LLVM to read files into memory.
+
+### Commits and pull requests
+
+[Doug Gregor](https://github.com/DougGregor) merged [a pull request](https://github.com/apple/swift/pull/16563) that eliminates more of `SubstitutionList`. In a followup [pull request](https://github.com/apple/swift/pull/16568) all remaining `SubstitutionList`s have been removed.
+
+> Introduced during the bring-up of the generics system in July, 2012, `Substitution` (and `SubstitutionList`) have been completely superseded by `SubstitutionMap`.
+
+[Pavel Yaskevich](https://github.com/xedin) merged [a pull request](https://github.com/apple/swift/pull/16560) that speeds up type checking for large array literals.
+
+[Andrew Trick](https://github.com/atrick) merged [a pull request](https://github.com/apple/swift/pull/16595) to speed up dynamic exclusivity checks in optimized builds.
+
+### Accepted proposals
+
+[SE-0207](https://github.com/apple/swift-evolution/blob/master/proposals/0207-containsOnly.md): *Add an `allSatisfy` algorithm to `Sequence`* was [accepted with revisions](https://forums.swift.org/t/accepted-with-revision-se-0207-add-a-containsonly-algorithm-to-sequence/12062).
+
+> The core team accepted one of the two proposed Sequence extensions, with a different name than was proposed:
+
+{% highlight swift %}
+extension Sequence {
+ /// Returns a Boolean value indicating whether every element of the sequence
+ /// satisfies the given predicate.
+ func allSatisfy(_ predicate: (Element) throws -> Bool) rethrows -> Bool
+}
+{% endhighlight %}
+
+You can find more details about the decision behind the new name in the announcement.
+
+[SE-0210](https://github.com/apple/swift-evolution/blob/master/proposals/0210-key-path-offset.md): *Add an `offset(of:)` method to `MemoryLayout`* was [accepted](https://forums.swift.org/t/accepted-se-0210-add-an-offset-of-method-to-memorylayout/12531/2).
+
+> The proposal is accepted as written. Thanks to everyone who participated in the review.
+
+[SE-0212](https://github.com/apple/swift-evolution/blob/master/proposals/0212-compiler-version-directive.md): *Compiler Version Directive* was [accepted](https://forums.swift.org/t/accepted-se-0212-compiler-version-directive/12661).
+
+> SE-0212 — Compiler Version Directive has been accepted. There was no major concerns about the proposal.
+
+[SE-0213](https://github.com/apple/swift-evolution/blob/master/proposals/0213-literal-init-via-coercion.md): *Literal initialization via coercion* was [under review](https://forums.swift.org/t/se-0213-literal-initialization-via-coercion/12540) and consequently [accepted](https://forums.swift.org/t/se-0213-literal-initialization-via-coercion/12540/18).
+
+> `T(literal)` should construct `T` using the appropriate literal protocol if possible.
+>
+> Currently types conforming to literal protocols are type-checked using regular initializer rules, which means that for expressions like `UInt32(42)` the type-checker is going to look up a set of available initializer choices and attempt them one-by-one trying to deduce the best solution.
+
+---
+
+> The core team discussed this today. A line has to be drawn somewhere between this special syntactic rule and a general higher-order use of initializers as functions; `let f = T.init` is not going to preserve the special rule.
+>
+> In that light, it makes sense to the core team to tie the special behavior to the existing special syntactic rule of type construction: currently, a "call" of `T` directly is recognized as always meaning a call to an initializer, whereas this syntax simply adjusts that to sometimes construct a literal.
+>
+> `T.init` is then reserved to always mean a higher-order use of the overloaded initializer set.
+
+### Swift Forums
+
+[Ted Kremenek](https://github.com/tkremenek/) announced support for [related Swift projects](https://swift.org/blog/related-projects/) to be discussable on the Swift Forums.
+
+> The number of projects in the Swift ecosystem keeps expanding and developers are using them more and more to help build their apps. While not officially a part of the language, they exist to provide a leg up on development with optimizations to accomplish specific sets of tasks.
+>
+> Related Projects includes access to specific sub-categories that are dedicated to projects within the Swift community and are separate from the Swift language itself. This new section of Swift Forums is launching today with support for a number of projects, including:
+>
+> - Kitura
+> - SourceKitten
+> - SwiftLint
+> - SwiftNIO
+> - SwiftProtobuf
+> - Vapor
+
+[Michael Ilseman](https://github.com/milseman) pitched [a proposal](https://forums.swift.org/t/pitch-character-and-string-properties/11620) to increase the usefulness of `Character` and approachability of programming in Swift.
+
+> `String` is a collection whose element is `Character`, which represents an [extended grapheme cluster](https://unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries) (commonly just called “grapheme”). This makes `Character` one of the first types encountered both by newcomers to Swift as well as by experienced Swift developers playing around in new domains (e.g. scripting). Yet `Character` exposes little functionality other than the ability to order it with respect to other characters, and a way to access the raw [Unicode scalar values](https://unicode.org/glossary/#unicode_scalar_value) that comprise it.
+
+[Devin Coughlin](https://github.com/devincoughlin) announced that [exclusive access warnings will be treated as errors](https://forums.swift.org/t/upgrading-exclusive-access-warning-to-be-an-error-in-swift-4-2/12704) in Swift 4.2.
+
+> In the recent Swift 4.2 branch, the existing Swift 4.1 warning about ‘overlapping accesses’ is now an error in Swift 4 mode. This means that projects with this warning will fail to build with the Swift 4.2 compiler.
+>
+> The warning typically arises when a mutating method that modifies a variable is passed a non-escaping closure that reads from the same variable.
+
+### Finally
+
+[API design is hard](https://twitter.com/AirspeedSwift/status/996246070723133440).
+
+
From c937d8e02869d8f8f04d9d37ebc9372907070465 Mon Sep 17 00:00:00 2001
From: Jeffrey Macko
Date: Thu, 17 May 2018 19:23:32 +0200
Subject: [PATCH 025/613] Update 2018-05-17-issue-109.md (#392)
---
_posts/2018-05-17-issue-109.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_posts/2018-05-17-issue-109.md b/_posts/2018-05-17-issue-109.md
index 16cc4922..d03892f3 100644
--- a/_posts/2018-05-17-issue-109.md
+++ b/_posts/2018-05-17-issue-109.md
@@ -31,7 +31,7 @@ In [episode 58](https://spec.fm/podcasts/swift-unwrapped/144196), Jesse and JP d
### News and community
-[Nicole Jacque])(https://github.com/najacque/) and [Mishal Shah](https://twitter.com/mishaldshah/) announced [a community hosted Swift continuous integration](https://twitter.com/SwiftLang/status/992166029613674497) to make it easier to support more platforms for Swift.
+[Nicole Jacque](https://github.com/najacque/) and [Mishal Shah](https://twitter.com/mishaldshah/) announced [a community hosted Swift continuous integration](https://twitter.com/SwiftLang/status/992166029613674497) to make it easier to support more platforms for Swift.
[Ted Kremenek](https://twitter.com/tkremenek) announced that Swift for TensorFlow [will be developed](https://forums.swift.org/t/swift-for-tensorflow-to-be-developed-on-tensorflow-branch-on-apple-swift-on-github/12595) on a `tensorflow` branch on apple/swift, allowing closer collaborations among the Swift and TensorFlow teams.
From 8c08b02471bee1fff4546ea9e35e63c8bde59b2e Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Mon, 28 May 2018 20:52:27 +0200
Subject: [PATCH 026/613] Initial 110 draft
---
_drafts/2018-05-31-issue-110.md | 51 +++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 _drafts/2018-05-31-issue-110.md
diff --git a/_drafts/2018-05-31-issue-110.md b/_drafts/2018-05-31-issue-110.md
new file mode 100644
index 00000000..7631d40a
--- /dev/null
+++ b/_drafts/2018-05-31-issue-110.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title: ! 'Issue #110'
+author: btb
+---
+
+With WWDC around the corner (it starts in four days!), it is not that big of a surprise that these last two weeks have been pretty quite when it comes to Swift.
+
+
+
+### Starter tasks
+
+> TODO
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+> TODO: Latest episode(s) of Swift Unwrapped
+
+### News and community
+
+> TODO
+
+### Commits and pull requests
+
+> TODO
+
+### Accepted proposals
+
+> TODO
+
+### Returned proposals
+
+> TODO
+
+### Rejected proposals
+
+> TODO
+
+### Proposals in review
+
+> TODO
+
+### Swift Forums
+
+> TODO
+
+### Finally
+
+> TODO: something funny/fun. tweet, link, etc.
From 5f657cad706c2d68246fe4430978fb50bcb91f16 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 31 May 2018 18:09:36 +0200
Subject: [PATCH 027/613] Draft for issue #110 (#395)
* 110 draft
* Move to posts
---
_drafts/2018-05-31-issue-110.md | 51 -------------------------------
_posts/2018-05-31-issue-110.md | 53 +++++++++++++++++++++++++++++++++
2 files changed, 53 insertions(+), 51 deletions(-)
delete mode 100644 _drafts/2018-05-31-issue-110.md
create mode 100644 _posts/2018-05-31-issue-110.md
diff --git a/_drafts/2018-05-31-issue-110.md b/_drafts/2018-05-31-issue-110.md
deleted file mode 100644
index 7631d40a..00000000
--- a/_drafts/2018-05-31-issue-110.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-layout: post
-title: ! 'Issue #110'
-author: btb
----
-
-With WWDC around the corner (it starts in four days!), it is not that big of a surprise that these last two weeks have been pretty quite when it comes to Swift.
-
-
-
-### Starter tasks
-
-> TODO
-
-{% include task_remind.html %}
-
-### Swift Unwrapped
-
-> TODO: Latest episode(s) of Swift Unwrapped
-
-### News and community
-
-> TODO
-
-### Commits and pull requests
-
-> TODO
-
-### Accepted proposals
-
-> TODO
-
-### Returned proposals
-
-> TODO
-
-### Rejected proposals
-
-> TODO
-
-### Proposals in review
-
-> TODO
-
-### Swift Forums
-
-> TODO
-
-### Finally
-
-> TODO: something funny/fun. tweet, link, etc.
diff --git a/_posts/2018-05-31-issue-110.md b/_posts/2018-05-31-issue-110.md
new file mode 100644
index 00000000..a8f042a4
--- /dev/null
+++ b/_posts/2018-05-31-issue-110.md
@@ -0,0 +1,53 @@
+---
+layout: post
+title: ! 'Issue #110'
+author: btb
+---
+
+With WWDC around the corner (it starts in four days!), it is not that big of a surprise that these last two weeks have been pretty quite when it comes to Swift.
+
+Also, come and say hi at WWDC!
+
+
+
+### Swift Unwrapped
+
+In [episode 59](https://spec.fm/podcasts/swift-unwrapped/144991), Jesse and JP discuss implicit escaping of closures, explaining in how they (should) work.
+
+In [episode 60](https://spec.fm/podcasts/swift-unwrapped/144992), Jesse and JP discuss Character Properties, a proposal pitch that aims to increase the usefulness of `Character` and approachability of programming in Swift.
+
+### News and community
+
+[Michael Ilseman](https://twitter.com/Ilseman) has [improved](https://twitter.com/brentdax/status/1001351681370542080) string interpolation in Swift 4.2 to be at least twice as fast! 🏎💨
+
+### Commits and pull requests
+
+[Alex Hoppen](https://github.com/ahoppen) merged [a pull request](https://github.com/apple/swift/pull/16340) that adds [incremental syntax parsing](https://gist.github.com/ahoppen/3ae1a6cd64e558710a4afcd372e8fdc4) to the Swift compiler. Cool!
+
+[Lily Vulcano](https://github.com/millenomi) merged [a pull request](https://github.com/apple/swift/pull/16022) to bridge `as`, `as?`, and `as!` to Linux. 🎉
+
+[Michael Gottesman](https://github.com/gottesmm) opened [a pull request](https://github.com/apple/swift/pull/16882) to allow for benchmark testing on Linux.
+
+### Proposals in review
+
+[SE-0214](https://github.com/apple/swift-evolution/blob/master/proposals/0214-DictionaryLiteral.md): *Renaming the `DictionaryLiteral` type to `KeyValueList`* is [under review](https://forums.swift.org/t/se-0214-renaming-the-dictionaryliteral-type-to-keyvaluelist/12817).
+
+> This proposal renames the confusing and misnamed [`DictionaryLiteral`](https://github.com/apple/swift/blob/c25188bafd1c775d4ceecc4a795f614f00451bf9/stdlib/public/core/Mirror.swift#L646) type to `KeyValueList`. This type is neither a dictionary nor a literal. It is a list of key-value pairs.
+>
+> There is no strong motivation to deprecate. The type does not produce active harm. Instead, it adds measurable (if small) utility and will be part of the ABI. A sensible renaming mitigates the most problematic issue with the type.
+
+### Swift Forums
+
+[Ben Cohen](https://twitter.com/airspeedswift) started [a discussion](https://forums.swift.org/t/se-0202-amendment-proposal-rename-random-to-defaultrandomnumbergenerator/12942) to change part of SE-0202, renaming `Random` to `DefaultRandomNumberGenerator`.
+
+> SE-0202, as accepted, introduces a type, `Random`, as the default source of random numbers on each platform.
+>
+> [..] the name `Random` for this default source is misleading, and would probably be better named `DefaultRandomNumberGenerator`.
+>
+> One open question is the naming of the getter for an instance of the type. Currently it is `Random.default`. However, renaming `Random` leads to the rather clunky `DefaultRandomNumberGenerator.default`. Benjamin suggests `.shared`. However, in all current implementations, this is not strictly speaking a shared instance – it is instead a getter/setter for a fresh instance each time. This doesn't actually have a cost, since the type has no actual size (the type is just a vehicle for calling an OS function), but needs to be done this way because `using:` is taken `inout`.
+>
+> Any suggestions for better naming gratefully received.
+
+### Finally
+
+[Although not all may agree](https://twitter.com/jckarter/status/999040485309140992)...
From 892b8b5428e16a6a9e8b7c5323b2299dd164c1c3 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 31 May 2018 18:11:33 +0200
Subject: [PATCH 028/613] Push 111 draft
---
_drafts/2018-06-14-issue-111.md | 51 +++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 _drafts/2018-06-14-issue-111.md
diff --git a/_drafts/2018-06-14-issue-111.md b/_drafts/2018-06-14-issue-111.md
new file mode 100644
index 00000000..4b2bc4ac
--- /dev/null
+++ b/_drafts/2018-06-14-issue-111.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title: ! 'Issue #111'
+author: roman
+---
+
+> TODO: intro comments
+
+
+
+### Starter tasks
+
+> TODO
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+> TODO: Latest episode(s) of Swift Unwrapped
+
+### News and community
+
+> TODO
+
+### Commits and pull requests
+
+> TODO
+
+### Accepted proposals
+
+> TODO
+
+### Returned proposals
+
+> TODO
+
+### Rejected proposals
+
+> TODO
+
+### Proposals in review
+
+> TODO
+
+### Swift Forums
+
+> TODO
+
+### Finally
+
+> TODO: something funny/fun. tweet, link, etc.
From cdfe0ba0d649e227911314fb4854baff7f0d6cc1 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 31 May 2018 21:05:54 +0200
Subject: [PATCH 029/613] Update 2018-05-31-issue-110.md
---
_posts/2018-05-31-issue-110.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_posts/2018-05-31-issue-110.md b/_posts/2018-05-31-issue-110.md
index a8f042a4..a3373194 100644
--- a/_posts/2018-05-31-issue-110.md
+++ b/_posts/2018-05-31-issue-110.md
@@ -4,7 +4,7 @@ title: ! 'Issue #110'
author: btb
---
-With WWDC around the corner (it starts in four days!), it is not that big of a surprise that these last two weeks have been pretty quite when it comes to Swift.
+With WWDC around the corner (it starts in four days!), it is not that big of a surprise that these last two weeks have been pretty quiet when it comes to Swift.
Also, come and say hi at WWDC!
From 947a37ad7caae45f7b1dc920fc9dccf121ec5a4f Mon Sep 17 00:00:00 2001
From: Roman Volkov
Date: Thu, 14 Jun 2018 22:26:52 +0500
Subject: [PATCH 030/613] Issue 111 draft (#396)
---
_drafts/2018-06-14-issue-111.md | 62 ++++++++++++++++++++++++---------
1 file changed, 46 insertions(+), 16 deletions(-)
diff --git a/_drafts/2018-06-14-issue-111.md b/_drafts/2018-06-14-issue-111.md
index 4b2bc4ac..93e7b9c5 100644
--- a/_drafts/2018-06-14-issue-111.md
+++ b/_drafts/2018-06-14-issue-111.md
@@ -4,48 +4,78 @@ title: ! 'Issue #111'
author: roman
---
-> TODO: intro comments
+Hi there SwiftWeekly readers! The last two weeks were full of exciting news with WWDC, interesting discussions on the Swift Unwrapped podcast and there's plenty of new starter tasks for you, especially for SPM. Enjoy!
### Starter tasks
-> TODO
+- [SR-7823](https://bugs.swift.org/browse/SR-7823) [Package Manager] swift run intermingles SwiftPM status with tool output on stdout
+- [SR-7824](https://bugs.swift.org/browse/SR-7824) [Package Manager] SwiftPM ignores missing source symlinks
+- [SR-7825](https://bugs.swift.org/browse/SR-7825) [Package Manager] SwiftPM should consider a target with header files but no sources as a ClangTarget
+- [SR-7826](https://bugs.swift.org/browse/SR-7826) [Package Manager] SwiftPM should warn if it skips traversing a symlink which would contain sources in it
+- [SR-7829](https://bugs.swift.org/browse/SR-7829) [Package Manager] Bad error message when a tag doesn't exist
+- [SR-7904](https://bugs.swift.org/browse/SR-7904) [Compiler] AST dump - can't distinguish files
+- [SR-7933](https://bugs.swift.org/browse/SR-7933) [Tooling] SourceKit double-counts escaping and autoclosure attributes
+- [SR-7979](https://bugs.swift.org/browse/SR-7979) [Package Manager] Circular Dependency in SwiftPM Causes Segfault
{% include task_remind.html %}
### Swift Unwrapped
-> TODO: Latest episode(s) of Swift Unwrapped
+In [episode 61](https://spec.fm/podcasts/swift-unwrapped/154581), Jesse and JP with special guest Greg Heo discussed general announcements from WWDC 2018, not just limited to the Swift language.
+
+In [episode 62](https://spec.fm/podcasts/swift-unwrapped/154699), Jesse and JP talk with [Ted Kremenek](https://twitter.com/tkremenek), the Swift Project Lead and manager of the Languages and Runtimes team at Apple.
### News and community
-> TODO
+The biggest news from the past two weeks is, of course, WWDC. There are plenty of videos to watch, but take take a closer look into these Swift related videos:
-### Commits and pull requests
+- [What's New in Swift](https://developer.apple.com/videos/play/wwdc2018/401)
+- [Swift Generics](https://developer.apple.com/videos/play/wwdc2018/406/)
+- [Getting to Know Swift Package Manager](https://developer.apple.com/videos/play/wwdc2018/411/)
+- [Behind the Scenes of the Xcode Build Process](https://developer.apple.com/videos/play/wwdc2018/415/)
-> TODO
+[Ole Begemann](https://github.com/ole) made an easy-to-use [playground](https://github.com/ole/whats-new-in-swift-4-2) that you can use to test the new features in Swift 4.2. If you prefer to read about it, check out Cosmin Pupăză's article [What’s New in Swift 4.2?](https://www.raywenderlich.com/194066/whats-new-in-swift-4-2).
-### Accepted proposals
+Greg Heo wrote a new post on Swift Unboxed, [Swift Diagnostics: #warning and #error](https://swiftunboxed.com/internals/diagnostics-warning-error/), about the new `#warning` and `#error` directive implementations.
-> TODO
+[Brian Gesiak](https://twitter.com/modocache) wrote the second part of a [great article](https://modocache.io/swift-compiler-diagnostics-part-2) about the interaction between the Swift frontend and LLVM in terms of emitting diagnostics.
-### Returned proposals
+### Commits and pull requests
-> TODO
+[Erik Eckstein](https://github.com/eeckstein) [merged](https://github.com/apple/swift/pull/17014) optimizations for generation of optimal code for static String constants.
-### Rejected proposals
+Xcode 10 Beta is now required to build `master` and `swift-4.2-branch`: [#17000](https://github.com/apple/swift/pull/17000) and [#17001](https://github.com/apple/swift/pull/17001).
-> TODO
+[Adrian Prantl](https://github.com/adrian-prantl) [merged](https://github.com/apple/swift/pull/16937) "Use depth and index to lookup type metadata artificial variables". The general purpose: "debug info support for generics is about to get a whole lot better".
+
+[Slava Pestov](https://github.com/slavapestov) [fixed](https://github.com/apple/swift/pull/17080) availability of inherited designated initializers.
+> Inherited designated initializers got the same availability as the corresponding initialier in the superclass. However if the superclass was more available than the subclass, we would generate a diagnostic that a member cannot be more available than its containing type. This diagnostic had an unknown source location, since the location was for a synthesized declaration, causing confusion.
### Proposals in review
-> TODO
+[SE-0215](https://github.com/apple/swift-evolution/blob/master/proposals/0215-conform-never-to-hashable-and-equatable.md): *Conform `Never` to `Equatable` and `Hashable`* is [under review](https://forums.swift.org/t/se-0215-conform-never-to-equatable-and-hashable/13586).
+
+> `Never` is very useful for representing impossible code. Most people are familiar with it as the return type of functions like `fatalError`, but `Never` is also useful when working with generic classes.
+>
+> For example, a `Result` type might use `Never` for its `Value` to represent something that _always_ errors or use `Never` for its `Error` to represent something that _never_ errors.
+>
+> Conditional conformances to `Equatable` and `Hashable` are also very useful when working with `enum`s so you can test easily or work with collections.
+>
+> But those don’t play well together. Without conformance to `Equatable` and `Hashable`, `Never` disqualifies your generic type from being `Equatable` and `Hashable`.
-### Swift Forums
+[SE-0216](https://github.com/apple/swift-evolution/blob/master/proposals/0216-dynamic-callable.md) *Introduce user-defined dynamically "callable" types* is [under review](https://forums.swift.org/t/se-0216-user-defined-dynamically-callable-types/13615).
-> TODO
+> This proposal is a follow-on to [SE-0195 - Introduce User-defined "Dynamic Member
+Lookup" Types](https://github.com/apple/swift-evolution/blob/master/proposals/0195-dynamic-member-lookup.md)
+which shipped in Swift 4.2. It introduces a new `@dynamicCallable` attribute, which marks
+a type as being "callable" with normal syntax.
+>
+> [...]
+>
+> Swift is exceptional at interworking with existing C and Objective-C APIs and we would like to extend this interoperability to dynamic languages like Python, JavaScript, Perl, and Ruby. We explored this overall goal in a long design process wherein the Swift evolution community evaluated multiple different implementation approaches. The conclusion was that the best approach was to put most of the complexity into dynamic language specific bindings written as pure-Swift libraries, but add small hooks in Swift to allow these bindings to provide a natural experience to their clients.
### Finally
-> TODO: something funny/fun. tweet, link, etc.
+And finally — [time to get some rest](https://twitter.com/jckarter/status/1005500623175815168)!
From 0e2b74bd13660c6d707a0b5d0f88476a58d0c7eb Mon Sep 17 00:00:00 2001
From: Jesse Squires
Date: Thu, 14 Jun 2018 10:27:57 -0700
Subject: [PATCH 031/613] publish issue 111, close #394
---
{_drafts => _posts}/2018-06-14-issue-111.md | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename {_drafts => _posts}/2018-06-14-issue-111.md (100%)
diff --git a/_drafts/2018-06-14-issue-111.md b/_posts/2018-06-14-issue-111.md
similarity index 100%
rename from _drafts/2018-06-14-issue-111.md
rename to _posts/2018-06-14-issue-111.md
From 14efa849d90642c3256cf62ae357d13f0e5a3fcd Mon Sep 17 00:00:00 2001
From: Greg Heo
Date: Thu, 14 Jun 2018 11:23:30 -0700
Subject: [PATCH 032/613] [111] Add Twitter link and fix typo
---
_posts/2018-06-14-issue-111.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/_posts/2018-06-14-issue-111.md b/_posts/2018-06-14-issue-111.md
index 93e7b9c5..7e1908d9 100644
--- a/_posts/2018-06-14-issue-111.md
+++ b/_posts/2018-06-14-issue-111.md
@@ -23,13 +23,13 @@ Hi there SwiftWeekly readers! The last two weeks were full of exciting news with
### Swift Unwrapped
-In [episode 61](https://spec.fm/podcasts/swift-unwrapped/154581), Jesse and JP with special guest Greg Heo discussed general announcements from WWDC 2018, not just limited to the Swift language.
+In [episode 61](https://spec.fm/podcasts/swift-unwrapped/154581), Jesse and JP with special guest [Greg Heo](https://twitter.com/gregheo) discussed general announcements from WWDC 2018, not just limited to the Swift language.
In [episode 62](https://spec.fm/podcasts/swift-unwrapped/154699), Jesse and JP talk with [Ted Kremenek](https://twitter.com/tkremenek), the Swift Project Lead and manager of the Languages and Runtimes team at Apple.
### News and community
-The biggest news from the past two weeks is, of course, WWDC. There are plenty of videos to watch, but take take a closer look into these Swift related videos:
+The biggest news from the past two weeks is, of course, WWDC. There are plenty of videos to watch, but take a closer look into these Swift related videos:
- [What's New in Swift](https://developer.apple.com/videos/play/wwdc2018/401)
- [Swift Generics](https://developer.apple.com/videos/play/wwdc2018/406/)
From 56a3259ee1fc54a4d2a55b29e6cbab9d94936266 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Mon, 18 Jun 2018 20:06:45 +0200
Subject: [PATCH 033/613] Initial 112 draft
---
_drafts/2018-06-21-issue-112.md | 51 +++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 _drafts/2018-06-21-issue-112.md
diff --git a/_drafts/2018-06-21-issue-112.md b/_drafts/2018-06-21-issue-112.md
new file mode 100644
index 00000000..b49dff9c
--- /dev/null
+++ b/_drafts/2018-06-21-issue-112.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title: ! 'Issue #112'
+author: btb
+---
+
+> TODO: intro comments
+
+
+
+### Starter tasks
+
+> TODO
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+> TODO: Latest episode(s) of Swift Unwrapped
+
+### News and community
+
+> TODO
+
+### Commits and pull requests
+
+> TODO
+
+### Accepted proposals
+
+> TODO
+
+### Returned proposals
+
+> TODO
+
+### Rejected proposals
+
+> TODO
+
+### Proposals in review
+
+> TODO
+
+### Swift Forums
+
+> TODO
+
+### Finally
+
+> TODO: something funny/fun. tweet, link, etc.
From 1d364a8454e17fde87169d0d05cc9849218ed897 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Tue, 19 Jun 2018 07:43:55 +0200
Subject: [PATCH 034/613] Biweekly, oops
---
_drafts/{2018-06-21-issue-112.md => 2018-06-28-issue-112.md} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename _drafts/{2018-06-21-issue-112.md => 2018-06-28-issue-112.md} (100%)
diff --git a/_drafts/2018-06-21-issue-112.md b/_drafts/2018-06-28-issue-112.md
similarity index 100%
rename from _drafts/2018-06-21-issue-112.md
rename to _drafts/2018-06-28-issue-112.md
From add6dec23305af1c50bd78c672be710e5c01a01f Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 28 Jun 2018 18:34:25 +0200
Subject: [PATCH 035/613] Initial draft of issue 112. (#398)
Issue 112
---
_drafts/2018-06-28-issue-112.md | 51 ---------------
_posts/2018-06-28-issue-112.md | 109 ++++++++++++++++++++++++++++++++
2 files changed, 109 insertions(+), 51 deletions(-)
delete mode 100644 _drafts/2018-06-28-issue-112.md
create mode 100644 _posts/2018-06-28-issue-112.md
diff --git a/_drafts/2018-06-28-issue-112.md b/_drafts/2018-06-28-issue-112.md
deleted file mode 100644
index b49dff9c..00000000
--- a/_drafts/2018-06-28-issue-112.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-layout: post
-title: ! 'Issue #112'
-author: btb
----
-
-> TODO: intro comments
-
-
-
-### Starter tasks
-
-> TODO
-
-{% include task_remind.html %}
-
-### Swift Unwrapped
-
-> TODO: Latest episode(s) of Swift Unwrapped
-
-### News and community
-
-> TODO
-
-### Commits and pull requests
-
-> TODO
-
-### Accepted proposals
-
-> TODO
-
-### Returned proposals
-
-> TODO
-
-### Rejected proposals
-
-> TODO
-
-### Proposals in review
-
-> TODO
-
-### Swift Forums
-
-> TODO
-
-### Finally
-
-> TODO: something funny/fun. tweet, link, etc.
diff --git a/_posts/2018-06-28-issue-112.md b/_posts/2018-06-28-issue-112.md
new file mode 100644
index 00000000..5fa882f0
--- /dev/null
+++ b/_posts/2018-06-28-issue-112.md
@@ -0,0 +1,109 @@
+---
+layout: post
+title: ! 'Issue #112'
+author: btb
+---
+
+I am back! I had the most wonderful time at WWDC, learning a lot of and meeting awesome people.
+I want to specifically thank all those that have shown their gratitude for the weekly brief, it's much appreciated!
+
+Without further ado, here's this week's news on the Swift.org open source projects.
+
+
+
+### Starter tasks
+
+- [SR-7984](https://bugs.swift.org/browse/SR-7984) [Compiler] Constraint to concrete type using `:` should offer a fixit
+- [SR-8012](https://bugs.swift.org/browse/SR-8012) [Standard Library] Remove `Indexable` aliases
+- [SR-8049](https://bugs.swift.org/browse/SR-8049) [Swift for TensorFlow] Open source S4TF unit testing with a remote TF session
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+In [episode 63](https://spec.fm/podcasts/swift-unwrapped/147483), Jesse and JP discuss Swift algorithms and data structures with [Kelvin Lau](https://twitter.com/KelvinlauKl) and [Vincent Ngo](https://twitter.com/VincentNgo2).
+
+In [episode 64](https://spec.fm/podcasts/swift-unwrapped/160151), Jesse and JP discuss `Never`, the [return type of functions that do not return normally](https://developer.apple.com/documentation/swift/never).
+
+### News and community
+
+[Ole Begemann](https://twitter.com/olebegemann) wrote [a blog post](https://oleb.net/blog/2018/06/dynamic-member-lookup/) with thoughts on `@dynamicMemberLookup`, which was introduced in [SE-0195](https://github.com/apple/swift-evolution/blob/master/proposals/0195-dynamic-member-lookup.md).
+
+[John Sundell](https://twitter.com/johnsundell) discussed the Swift Package Manager with [David Hart](https://twitter.com/dhartbit) in his [podcast](https://www.swiftbysundell.com/podcast/26).
+
+### Commits and pull requests
+
+[Slava Pestov](https://github.com/slavapestov) merged [a pull request](https://github.com/apple/swift/pull/17227) to fix a corner case for source compatibility. As it appears, using an enum case called `init` could cause some trouble.
+
+[Ankit Aggarwal](https://twitter.com/aciidb0mb3r/) merged [a pull request](https://github.com/apple/swift-evolution/pull/828) that adds a new, SwiftPM specific proposal template that better reflects the expectations and nuances of this project.
+
+### Accepted proposals
+
+[SE-0211](https://github.com/apple/swift-evolution/blob/master/proposals/0211-unicode-scalar-properties.md): *Add Unicode Properties to `Unicode.Scalar`* has been [accepted with revisions](https://forums.swift.org/t/accepted-se-0211-add-unicode-properties-to-unicode-scalar/13857/1).
+
+> The core team has accepted this proposal, with one revision:
+>
+> - the `numericValue` property should be a `Double?` rather than a `Double`, with `nil` for non-numeric values rather than `NaN`.
+
+[SE-0214](https://github.com/apple/swift-evolution/blob/master/proposals/0214-DictionaryLiteral.md): *Renaming the `DictionaryLiteral` type to `KeyValuePairs`* has been [accepted with revisions](https://forums.swift.org/t/accepted-with-revision-se-0214-renaming-the-dictionaryliteral-type-to-keyvaluepairs/13661).
+
+> In the review thread discussion, many names were considered, and the core team agreed that `KeyValuePairs` (initially `KeyValueList` was proposed) is a best name suggested on the thread for this type.
+
+### Swift Forums
+
+[Ankit Aggarwal](https://twitter.com/aciidb0mb3r/) shared some [features and enhancements](https://forums.swift.org/t/recent-swiftpm-features-and-enhancements/13807) that have been brought to SwiftPM recently.
+
+> - Improved scheme generation logic
+> - Local dependencies
+> - Automatic Xcode project generation
+> - System library targets
+> - Embeddable Xcode projects
+
+[Dave DeLong](https://twitter.com/davedelong) and [Erica Sadun](https://twitter.com/ericasadun) pitched [a proposal](https://forums.swift.org/t/introducing-namespacing-for-common-swift-error-scenarios/10773) to introduce namespacing for common Swift error scenarios.
+
+> This proposal introduces namespacing for fatal errors. It provides an umbrella for common exit scenarios, modernizing a holdover from C-like languages.
+>
+> Swift’s `fatalError` is arguably insufficient for a multitude of real world uses including discoverability, extensibility, and significance. Swift lacks a modern extensible solution that differentiates fatal error scenarios.
+
+Awesome stuff!
+
+[Steve Canon](https://forums.swift.org/u/scanon/summary) pitched [a proposal](https://forums.swift.org/t/comparable-and-floatingpoint/13931) that aims to solve some issues around floating points and their `min` and `max` operations.
+
+> There is a small but important tangle of issues around the interaction between `min` and `max` operations and `Comparable` and `FloatingPoint` protocols and the IEEE 754 standard that I would like to attempt to resolve.
+
+[Ankit Aggarwal](https://twitter.com/aciidb0mb3r/) shared [a list of SwiftPM evolution ideas](https://forums.swift.org/t/swift-package-manager-evolution-ideas/13940) that could use some help to get proposals off the ground.
+
+> This is a list of some evolution ideas for the package manager. Once the details of an idea are fleshed out and there is a full proposal, it can be scheduled for the swift-evolution process. It is important to note that not every idea on this list is guaranteed to become an official feature, and it all depends on where the design discussion leads us. Also, this is not meant to be an exhaustive feature list, if you have an idea for a feature that you think will be a valuable addition to the package manager, feel free to start a discussion about it.
+>
+> If you're interested in participating in a particular evolution idea, please familarize yourself with the existing discussion on that topic and start participating in the discussion thread of that idea.
+
+[Nate Cook](https://twitter.com/nnnnnnnn) pitched [a proposal](https://forums.swift.org/t/array-initializer-with-access-to-uninitialized-buffer/13689) to add an `Array` initializer with access to its unitialized buffer.
+
+> I've been thinking about a way of creating an array that would let us access the buffer of uninitialized memory, so that we could implement algorithms that don't necessarily know the size in advance or need access to noncontiguous parts of an array.
+>
+> There is currently no way to work with a buffer of uninitialized memory that then becomes a fully memory-managed `Array`. This limitation means that operations that don't know the final size of their data in advance, or that need to access noncontiguous parts of an array, are less efficient than necessary, often requiring an extra copy. This proposal suggests a new initializer for `Array` and `ContiguousArray` that would provide access to a newly created array's entire storage buffer.
+
+[Brent Royal-Gordon](https://twitter.com/brentdax) pitched [a proposal](https://forums.swift.org/t/pitch-deprecate-strange-interpolations-in-swift-4-2/13694) that aims to clean up some of the lesser known rough edges in String interpolation.
+
+> So, everyone knows what a string interpolation looks like:
+
+{% highlight swift %}
+print("Hello, \(firstName)!")
+{% endhighlight %}
+
+> But let's talk about some other things you might write, perhaps because you hate compiler engineers. What do you think these do?
+
+{% highlight swift %}
+print("Hello, \()!") // #1
+print("Hello, \(first: firstName)!") // #2
+print("Hello, \(firstName, lastName)!") // #3
+print("Hello, \(first: firstName, last: lastName)!") // #4
+{% endhighlight %}
+
+> Most people I've spoken to say "produce an error message", and they're right about #1—it produces the error "expected expression in list of expressions". Maybe not the clearest message, but it's not technically wrong.
+>
+> But the other three? They actually compile without complaint and form a tuple.
+
+### Finally
+
+[Do you wish to take a leap of faith?](https://twitter.com/slava_pestov/status/1010043445203701760)
From fd42f196d895c1a9dbb35c3fa8e085c300009dcc Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Mon, 9 Jul 2018 19:46:16 +0200
Subject: [PATCH 036/613] Add 113 draft
---
_drafts/2018-07-12-issue-113.md | 51 +++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 _drafts/2018-07-12-issue-113.md
diff --git a/_drafts/2018-07-12-issue-113.md b/_drafts/2018-07-12-issue-113.md
new file mode 100644
index 00000000..fa9a3dd4
--- /dev/null
+++ b/_drafts/2018-07-12-issue-113.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title: ! 'Issue #113'
+author: roman
+---
+
+> TODO: intro comments
+
+
+
+### Starter tasks
+
+> TODO
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+> TODO: Latest episode(s) of Swift Unwrapped
+
+### News and community
+
+> TODO
+
+### Commits and pull requests
+
+> TODO
+
+### Accepted proposals
+
+> TODO
+
+### Returned proposals
+
+> TODO
+
+### Rejected proposals
+
+> TODO
+
+### Proposals in review
+
+> TODO
+
+### Swift Forums
+
+> TODO
+
+### Finally
+
+> TODO: something funny/fun. tweet, link, etc.
From ad050f4bcbd14b52bbd647055531ef0f1a044879 Mon Sep 17 00:00:00 2001
From: Roman Volkov
Date: Thu, 12 Jul 2018 21:45:12 +0500
Subject: [PATCH 037/613] Issue 113 (#400)
* init
* draft
* Update 2018-07-12-issue-113.md
* Update 2018-07-12-issue-113.md
* Update 2018-07-12-issue-113.md
* Update 2018-07-12-issue-113.md
* Final changes
---
_drafts/2018-07-12-issue-113.md | 51 ------------------
_posts/2018-07-12-issue-113.md | 94 +++++++++++++++++++++++++++++++++
2 files changed, 94 insertions(+), 51 deletions(-)
delete mode 100644 _drafts/2018-07-12-issue-113.md
create mode 100644 _posts/2018-07-12-issue-113.md
diff --git a/_drafts/2018-07-12-issue-113.md b/_drafts/2018-07-12-issue-113.md
deleted file mode 100644
index fa9a3dd4..00000000
--- a/_drafts/2018-07-12-issue-113.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-layout: post
-title: ! 'Issue #113'
-author: roman
----
-
-> TODO: intro comments
-
-
-
-### Starter tasks
-
-> TODO
-
-{% include task_remind.html %}
-
-### Swift Unwrapped
-
-> TODO: Latest episode(s) of Swift Unwrapped
-
-### News and community
-
-> TODO
-
-### Commits and pull requests
-
-> TODO
-
-### Accepted proposals
-
-> TODO
-
-### Returned proposals
-
-> TODO
-
-### Rejected proposals
-
-> TODO
-
-### Proposals in review
-
-> TODO
-
-### Swift Forums
-
-> TODO
-
-### Finally
-
-> TODO: something funny/fun. tweet, link, etc.
diff --git a/_posts/2018-07-12-issue-113.md b/_posts/2018-07-12-issue-113.md
new file mode 100644
index 00000000..94fbab7d
--- /dev/null
+++ b/_posts/2018-07-12-issue-113.md
@@ -0,0 +1,94 @@
+---
+layout: post
+title: ! 'Issue #113'
+author: roman
+---
+
+Welcome to the 113th issue of Swift Weekly Brief! This week was more calm, no news explosions. The repositories and Swift.org discussions had their usual activity.
+
+
+
+### Starter tasks
+
+- [SR-8135](https://bugs.swift.org/browse/SR-8135) [Package Manager] SwiftPM should only check for `clang` if it is needed
+- [SR-8137](https://bugs.swift.org/browse/SR-8137) [Package Manager] Provide mechanism to disable color diagnostics from commands
+- [SR-8138](https://bugs.swift.org/browse/SR-8138) [Package Manager] Mechanism to limit the parallelism of `swift test --parallel`
+- [SR-8139](https://bugs.swift.org/browse/SR-8139) [Package Manager] Executable init template is broken when there is a dash in package name
+- [SR-8173](https://bugs.swift.org/browse/SR-8172) [Tooling] `(T)` Reported as Single-Element Tuple Rather Than `T`
+- [SR-8190](https://bugs.swift.org/browse/SR-8190) [Standard Library] Introduce a RingBuffer to the Standard Library
+- [SR-8204](https://bugs.swift.org/browse/SR-8204) [Package Manager] Sort targets in SwiftPM generated Xcode project
+- [SR-8222](https://bugs.swift.org/browse/SR-8222) [Swift for TensorFlow] `PartitionCloner::visitCondBranchInst()` should be generalized to handle `TensorHandle` in addition to `TensorHandle`
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+In [episode 65](https://spec.fm/podcasts/swift-unwrapped/160476), Jesse and JP discuss the [SE-0213: Literal initialization via coercion](https://github.com/apple/swift-evolution/blob/master/proposals/0213-literal-init-via-coercion.md) proposal and its implementation.
+
+### News and community
+
+[Ankit Aggarwal](https://twitter.com/aciidb0mb3r) noticed the right thing: when `Codable` is awesome, it requires [so much boilerplate](https://github.com/apple/swift-package-manager/pull/1655/files#diff-31d171cad93e680d3ffc6cb3c4fc6848R13) to support enums. It would be great if the compiler could synthesize it, like with `Hashable` and `Equatable`.
+
+### Commits and pull requests
+
+[Mark Lacey](https://github.com/rudkx) opened [a pull request](https://github.com/apple/swift/pull/17691) to remove Swift 3 from type checher. "Goodbye, Swift 3"
+
+[Slava Pestov](https://twitter.com/slava_pestov) merged several pull requests: [#17611](https://github.com/apple/swift/pull/17611), [#17651](https://github.com/apple/swift/pull/17651) and [#17816](https://github.com/apple/swift/pull/17816) - great additions to [SE-0156: Class and Subtype existentials](https://github.com/apple/swift-evolution/blob/master/proposals/0156-subclass-existentials.md) to add support for protocols with superclass constraints.
+
+[Tony Allevato](https://github.com/allevato) merged [a pull request](https://github.com/apple/swift/pull/15593) to add Unicode properties to `Unicode.Scalar`. This implements [SE-0211](https://github.com/apple/swift-evolution/blob/master/proposals/0211-unicode-scalar-properties.md), *Add Unicode Properties to `Unicode.Scalar`*.
+
+### Accepted proposals
+
+An amendment to [SE-0202](https://github.com/jckarter/swift-evolution/blob/master/proposals/0202-random-unification.md): *Random Unification* was [accepted](https://forums.swift.org/t/amendment-to-se-0202-removing-collection-randomelement-as-a-customization-point/14101).
+
+> We decided to accept the proposed amendment to remove `randomElement` as a customization point.
+
+[SE-0216](https://github.com/apple/swift-evolution/blob/master/proposals/0216-dynamic-callable.md): *User-defined dynamically callable types* was [accepted](https://forums.swift.org/t/accepted-se-216-user-defined-dynamically-callable-types/14110).
+
+> Feedback on the proposal was almost entirely positive on both the idea of supporting dynamically-typed calls and the proposal's specific approach to providing that support.
+>
+> Therefore, the proposal was accepted without modifications.
+
+### Proposals in review
+
+[SE-0217](https://github.com/apple/swift-evolution/blob/master/proposals/0217-bangbang.md): *Introducing the `!!` "Unwrap or Die" operator to the Swift Standard Library* is [under review](https://forums.swift.org/t/se-0217-the-unwrap-or-die-operator/14107).
+
+> This proposal introduces an annotating forced-unwrapping operator to the Swift standard library. It augments the `?`, `??`, and `!` family, adding `!!`. This "unwrap or die" operator provides code-sourced rationales for failed unwraps, supporting self-documentation and safer development. The `!!` operator is commonly implemented in the wider Swift Community and should be considered for official adoption.
+>
+> The new operator benefits both experienced and new Swift users. It takes this form:
+
+{% highlight swift %}
+let value = wrappedValue !! <# "Explanation why lhs cannot be nil." #>
+{% endhighlight %}
+
+[SE-0218](https://github.com/apple/swift-evolution/blob/master/proposals/0218-introduce-compact-map-values.md): *Introduce `compactMapValues` to `Dictionary`* is [under review](https://forums.swift.org/t/se-0218-introduce-compactmapvalues-to-dictionary/14266).
+
+> This proposal adds a combined `filter`/`map` operation to `Dictionary`, as a companion to the `mapValues` and `filter` methods introduced by [SE-0165](https://github.com/apple/swift-evolution/blob/master/proposals/0165-dict.md). The new `compactMapValues` operation corresponds to `compactMap` on `Sequence`.
+
+[SE-0219](https://github.com/apple/swift-evolution/blob/master/proposals/0219-package-manager-dependency-mirroring.md): *Package Manager Dependency Mirroring* is [under review](https://forums.swift.org/t/se-0219-package-manager-dependency-mirroring/14371).
+
+> A dependency mirror refers to an alternate source location which exactly replicates the contents of the original source.
+>
+> Dependency mirroring is useful for several reasons:
+>
+> - **Availability**: Mirrors can ensure that a dependency can be always fetched, in case the original source is unavailable or even deleted.
+> - **Cache**: Access to the original source location could be slow or forbidden in the current environment.
+> - **Validation**: Mirrors can help with screening the upstream updates before making them available internally within a company.
+
+### Swift Forums
+
+[Tony Parker]() started [a pitch](https://forums.swift.org/t/pitch-move-urlsession-to-new-foundationnetworking-module/14002) to move `URLSession` and related types to a new library.
+
+> Some of the feedback we've received from the SwiftNIO team is that Foundation's dependency on `libcurl` brings in too many other libraries.
+>
+> I propose moving the networking types (except `URL` and `URLComponents`) into another library, with a working name of `swift-corelibs-foundation-networking`.
+>
+> Benefits:
+>
+> - SwiftNIO would be able to use core Foundation types.
+> - `swift-corelibs-foundation-networking` could use SwiftPM to build itself.
+> - Other projects that wish to maintain a minimum set of dependencies and do not need networking support can reduce their footprint.
+
+### Finally
+
+[I wonder if it runs Swift?](https://twitter.com/slava_pestov/status/1016534163988496384) 🤔
From 164dbb834ae833c90ca69702fe6a5acc989245ce Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 12 Jul 2018 20:14:50 +0200
Subject: [PATCH 038/613] 114 draft
---
_drafts/2018-07-26-issue-114.md | 51 +++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 _drafts/2018-07-26-issue-114.md
diff --git a/_drafts/2018-07-26-issue-114.md b/_drafts/2018-07-26-issue-114.md
new file mode 100644
index 00000000..add3500a
--- /dev/null
+++ b/_drafts/2018-07-26-issue-114.md
@@ -0,0 +1,51 @@
+---
+layout: post
+title: ! 'Issue #114'
+author: btb
+---
+
+> TODO: intro comments
+
+
+
+### Starter tasks
+
+> TODO
+
+{% include task_remind.html %}
+
+### Swift Unwrapped
+
+> TODO: Latest episode(s) of Swift Unwrapped
+
+### News and community
+
+> TODO
+
+### Commits and pull requests
+
+> TODO
+
+### Accepted proposals
+
+> TODO
+
+### Returned proposals
+
+> TODO
+
+### Rejected proposals
+
+> TODO
+
+### Proposals in review
+
+> TODO
+
+### Swift Forums
+
+> TODO
+
+### Finally
+
+> TODO: something funny/fun. tweet, link, etc.
From fd8d005fcd6381c29a4a1bb36c22228b2aa931a8 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Sat, 14 Jul 2018 12:10:23 +0200
Subject: [PATCH 039/613] 0218 accepted
ref #402
---
_drafts/2018-07-26-issue-114.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/_drafts/2018-07-26-issue-114.md b/_drafts/2018-07-26-issue-114.md
index add3500a..26e5b1c7 100644
--- a/_drafts/2018-07-26-issue-114.md
+++ b/_drafts/2018-07-26-issue-114.md
@@ -28,7 +28,9 @@ author: btb
### Accepted proposals
-> TODO
+[SE-0218](https://github.com/apple/swift-evolution/blob/master/proposals/0218-introduce-compact-map-values.md): *Introduce `compactMapValues` to Dictionary* was [accepted](https://forums.swift.org/t/accepted-se-0218-introduce-compactmapvalues-to-dictionary/14448).
+
+> Feedback on the proposal was very positive – the main concern being with the name, but this falls naturally out of our existing method names so is consistent, if clunky.
### Returned proposals
From ab647f774162f34723b2669538c2d8d155ace2b6 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Sat, 14 Jul 2018 16:08:43 +0200
Subject: [PATCH 040/613] 0217 rejected
ref #402
---
_drafts/2018-07-26-issue-114.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/_drafts/2018-07-26-issue-114.md b/_drafts/2018-07-26-issue-114.md
index 26e5b1c7..ba5af673 100644
--- a/_drafts/2018-07-26-issue-114.md
+++ b/_drafts/2018-07-26-issue-114.md
@@ -38,7 +38,9 @@ author: btb
### Rejected proposals
-> TODO
+[SE-0217](https://github.com/apple/swift-evolution/blob/master/proposals/0217-bangbang.md): *Introducing the `!!` "Unwrap or Die" operator to the Swift Standard Library* has been [rejected](https://forums.swift.org/t/se-0217-the-unwrap-or-die-operator/14107/222).
+
+> The core team has decided to reject this proposal as written. However, the core team concurs that the motivating problems posed by the proposal are important to solve, as did an overwhelming majority of commenters who participated in the public review. The fact that the only fixit the compiler offers to unwrap an Optional is to use the `!` operator is an unfortunate legacy of the Swift 1.0 days, before anything in the SDKs Swift was designed to work with had been audited for nullability, so force-unwrapping was far more of a necessity. Nowadays this legacy is actively harmful, and encourages bad habits in new Swift programmers, as the proposal and review discussion highlight extensively. It is clear too that `!` giving inadequate runtime feedback is a major problem, since a large contingent of the Swift community follows style guides that flat-out ban it, and the `guard ... else { fatalError("message") }` idiom is widespread as a way of more thoughtfully crashing on nil with an actionable error message.
### Proposals in review
From 09aa3581cce4ca9652e02efee189dd082ec1f24a Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Sat, 14 Jul 2018 16:11:33 +0200
Subject: [PATCH 041/613] Add another link to the rationale
---
_drafts/2018-07-26-issue-114.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/_drafts/2018-07-26-issue-114.md b/_drafts/2018-07-26-issue-114.md
index ba5af673..d481506a 100644
--- a/_drafts/2018-07-26-issue-114.md
+++ b/_drafts/2018-07-26-issue-114.md
@@ -38,10 +38,12 @@ author: btb
### Rejected proposals
-[SE-0217](https://github.com/apple/swift-evolution/blob/master/proposals/0217-bangbang.md): *Introducing the `!!` "Unwrap or Die" operator to the Swift Standard Library* has been [rejected](https://forums.swift.org/t/se-0217-the-unwrap-or-die-operator/14107/222).
+[SE-0217](https://github.com/apple/swift-evolution/blob/master/proposals/0217-bangbang.md): *Introducing the `!!` "Unwrap or Die" operator to the Swift Standard Library* was [rejected](https://forums.swift.org/t/se-0217-the-unwrap-or-die-operator/14107/222).
> The core team has decided to reject this proposal as written. However, the core team concurs that the motivating problems posed by the proposal are important to solve, as did an overwhelming majority of commenters who participated in the public review. The fact that the only fixit the compiler offers to unwrap an Optional is to use the `!` operator is an unfortunate legacy of the Swift 1.0 days, before anything in the SDKs Swift was designed to work with had been audited for nullability, so force-unwrapping was far more of a necessity. Nowadays this legacy is actively harmful, and encourages bad habits in new Swift programmers, as the proposal and review discussion highlight extensively. It is clear too that `!` giving inadequate runtime feedback is a major problem, since a large contingent of the Swift community follows style guides that flat-out ban it, and the `guard ... else { fatalError("message") }` idiom is widespread as a way of more thoughtfully crashing on nil with an actionable error message.
+I'd encourage you to read [the rest of the rationale](https://forums.swift.org/t/se-0217-the-unwrap-or-die-operator/14107/222).
+
### Proposals in review
> TODO
From f5a0bfb2618fce75d2ffccb101f14c851dcd7e28 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Sat, 14 Jul 2018 16:18:24 +0200
Subject: [PATCH 042/613] 0215 accepted
ref #402
---
_drafts/2018-07-26-issue-114.md | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/_drafts/2018-07-26-issue-114.md b/_drafts/2018-07-26-issue-114.md
index d481506a..40bfed9a 100644
--- a/_drafts/2018-07-26-issue-114.md
+++ b/_drafts/2018-07-26-issue-114.md
@@ -28,6 +28,22 @@ author: btb
### Accepted proposals
+[SE-0215](https://github.com/apple/swift-evolution/blob/master/proposals/0215-conform-never-to-hashable-and-equatable.md): *Conform `Never` to `Equatable` and `Hashable`* was [accepted](https://forums.swift.org/t/se-0215-conform-never-to-equatable-and-hashable/13586/45).
+
+> The Core Team discussed the review, and reached the following conclusions:
+>
+> - The proposal should be accepted with the new explicit conformances to `Equatable` and `Hashable` be added to `Never`. This addresses a real point of friction users are experiencing with the use of `Never`.
+>
+> - For the same reasons conformances to `Hashable` and `Equatable` are being added to `Never`, the Core Team felt that conformances to `Error` and `Comparable` should also be added to `Never` as part of accepting this proposal. Both of these additional protocol conformances were brought up during the review.
+>
+> - `Never` should become a blessed bottom type in the language. This matches with semantics in other languages and its intended role in Swift.
+>
+> With respect to the latter, the Core Team discussed what Never being a bottom type actually meant. From that discussion we reached the following conclusions:
+>
+> - Semantically, as a bottom type, it would mean that Never should be implicitly convertible to any other type. This composes well in the type system because of the fact that instances of `Never` cannot be instantiated.
+>
+> However, being a bottom type does not imply that `Never` should implicitly conform to all protocols. Instead, convenient protocol conformances for Never should be added as deemed useful or necessary.
+
[SE-0218](https://github.com/apple/swift-evolution/blob/master/proposals/0218-introduce-compact-map-values.md): *Introduce `compactMapValues` to Dictionary* was [accepted](https://forums.swift.org/t/accepted-se-0218-introduce-compactmapvalues-to-dictionary/14448).
> Feedback on the proposal was very positive – the main concern being with the name, but this falls naturally out of our existing method names so is consistent, if clunky.
From 7dc369043cf9fa80c4b06e9352cb23e62f98adfa Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Mon, 16 Jul 2018 07:38:46 +0200
Subject: [PATCH 043/613] Remove task remind (#403)
* Remove task remind
Fixes #401
* Re-add task_remind
---
new_draft.sh | 2 --
1 file changed, 2 deletions(-)
diff --git a/new_draft.sh b/new_draft.sh
index 22745f6d..b681c72b 100755
--- a/new_draft.sh
+++ b/new_draft.sh
@@ -57,8 +57,6 @@ author: $3
> TODO
-{% include task_remind.html %}
-
### Swift Unwrapped
> TODO: Latest episode(s) of Swift Unwrapped
From b5eea975d82c30069f1306250c46fc053bfe52bb Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Tue, 24 Jul 2018 21:31:26 +0200
Subject: [PATCH 044/613] Add some more to 114
References #402
---
_drafts/2018-07-26-issue-114.md | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/_drafts/2018-07-26-issue-114.md b/_drafts/2018-07-26-issue-114.md
index 40bfed9a..0cbdfdc3 100644
--- a/_drafts/2018-07-26-issue-114.md
+++ b/_drafts/2018-07-26-issue-114.md
@@ -4,27 +4,29 @@ title: ! 'Issue #114'
author: btb
---
-> TODO: intro comments
+Not only did the Swift repository pass [18,000](https://twitter.com/jckarter/status/1019623101921804288) pull requests (after the internal repository had 18,000 SVN revisions after four years), it also celebrated its [8th birthday](https://twitter.com/slava_pestov/status/1021627717228220417)! Impressive numbers, and may many more follow.
### Starter tasks
-> TODO
-
-{% include task_remind.html %}
+- [SR-8252](https://bugs.swift.org/browse/SR-8252) [Compiler] Consolidate and Fix `-debug-crash-*` Flags
+- [SR-8253](https://bugs.swift.org/browse/SR-8253) [Compiler] `catch` clause should allow multiple patterns
+- [SR-8327](https://bugs.swift.org/browse/SR-8327) [Package Manager] Improve error message when bootstrapping SwiftPM without cmake or ninja
### Swift Unwrapped
-> TODO: Latest episode(s) of Swift Unwrapped
+Jesse and JP are taking [a well deserved summer break](https://twitter.com/swift_unwrapped/status/1016334803648434176). ☀️🏖
### News and community
-> TODO
+[Cory Benfield](https://github.com/Lukasa) announced the release of [`NIOTransportServices`](https://forums.swift.org/t/niotransportservices-swiftnio-and-network-framework/14567) to help users use Network.framework with a SwiftNIO API.
### Commits and pull requests
-> TODO
+[Slava Pestov](https://twitter.com/slava_pestov/) merged [a pull request](https://github.com/apple/swift/pull/18082) that continues the work of SE-0002 (!), removing multiple parameter lists from the Abstract Syntax Tree (AST).
+
+[Ben Cohen](https://twitter.com/AirspeedSwift/) merged [a pull request](https://github.com/apple/swift/pull/18098) that refactors some code making use of conditional conformances. The result? +276, -2,694 lines of code. Impressive!
### Accepted proposals
@@ -48,9 +50,9 @@ author: btb
> Feedback on the proposal was very positive – the main concern being with the name, but this falls naturally out of our existing method names so is consistent, if clunky.
-### Returned proposals
+[SE-0219](https://github.com/apple/swift-evolution/blob/master/proposals/0219-package-manager-dependency-mirroring.md): *Package Manager Dependency Mirroring* was [accepted with revisions](https://forums.swift.org/t/se-0219-package-manager-dependency-mirroring/14371/8).
-> TODO
+> The review of SE-0219 “Package Manager Dependency Mirroring" ran from July 10...17. Feedback was positive, and the proposal is accepted with revisions (adding a `swift package config get-mirror` command). Thanks to everyone who participated!
### Rejected proposals
@@ -62,12 +64,18 @@ I'd encourage you to read [the rest of the rationale](https://forums.swift.org/t
### Proposals in review
-> TODO
+[SE-0221](https://github.com/apple/swift-evolution/blob/master/proposals/0221-character-properties.md): *Character Properties* is [under review](https://forums.swift.org/t/se-0221-character-properties/14686).
+
+> [Tony Allevato](https://github.com/allevato) (a co-author here) proposed [Add Unicode Properties to `Unicode.Scalar`](https://github.com/apple/swift-evolution/blob/master/proposals/0211-unicode-scalar-properties.md), which exposes Unicode properties from the [Unicode Character Database](http://unicode.org/reports/tr44/). These are Unicode expert/enthusiast oriented properties that give a finer granularity of control and answer highly-technical and specific Unicody enquiries.
+>
+> However, they are not ergonomic and Swift makes no attempt to clarify their interpretation or usage: meaning and proper interpretation is directly tied to the Unicode Standard and the version of Unicode available at run time. There’s some low-hanging ergo-fruit ripe for picking by exposing properties directly on `Character`.
### Swift Forums
-> TODO
+[Ankit Aggarwal](https://twitter.com/aciidb0mb3r) shared news about some [recently added features](https://forums.swift.org/t/package-manifest-caching-landed/14624) in SwiftPM, namely the caching of manifests.
+
+> [..] SwiftPM will now cache the loaded manifests for effectively all operations except dependency resolution. This provides great performance improvements during iterative development. Commands like `swift build`, `swift test`, `swift package edit`, `swift package generate-xcodeproj` should start significantly faster once the cache is created. For e.g., time spent to load all manifests of Vapor reduces from 3.7s to 64ms!
### Finally
-> TODO: something funny/fun. tweet, link, etc.
+[Index out of bounds](https://twitter.com/jckarter/status/1018224486477279233). 💥
From 65cf6ab5737f18824349bd3df1568d750bb278ed Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 26 Jul 2018 17:12:43 +0200
Subject: [PATCH 045/613] Finish up issue 114 (#405)
* Finish up issue 114
* Update 2018-07-26-issue-114.md
* Update 2018-07-26-issue-114.md
---
{_drafts => _posts}/2018-07-26-issue-114.md | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
rename {_drafts => _posts}/2018-07-26-issue-114.md (76%)
diff --git a/_drafts/2018-07-26-issue-114.md b/_posts/2018-07-26-issue-114.md
similarity index 76%
rename from _drafts/2018-07-26-issue-114.md
rename to _posts/2018-07-26-issue-114.md
index 0cbdfdc3..cae930c2 100644
--- a/_drafts/2018-07-26-issue-114.md
+++ b/_posts/2018-07-26-issue-114.md
@@ -6,6 +6,8 @@ author: btb
Not only did the Swift repository pass [18,000](https://twitter.com/jckarter/status/1019623101921804288) pull requests (after the internal repository had 18,000 SVN revisions after four years), it also celebrated its [8th birthday](https://twitter.com/slava_pestov/status/1021627717228220417)! Impressive numbers, and may many more follow.
+Apart from that, I hope many of you are enjoying an awesome summer!
+
### Starter tasks
@@ -28,6 +30,8 @@ Jesse and JP are taking [a well deserved summer break](https://twitter.com/swift
[Ben Cohen](https://twitter.com/AirspeedSwift/) merged [a pull request](https://github.com/apple/swift/pull/18098) that refactors some code making use of conditional conformances. The result? +276, -2,694 lines of code. Impressive!
+[Doug Gregor](https://twitter.com/dgregor79/) merged [a pull request](https://github.com/apple/swift/pull/18163) involving protocol metadata. This is also part of ABI stability and improving reflection. According to Slava, "This all lays the groundwork for powerful metaprogramming capabilities that go far beyond the standard library's `Mirror` type". 🎉
+
### Accepted proposals
[SE-0215](https://github.com/apple/swift-evolution/blob/master/proposals/0215-conform-never-to-hashable-and-equatable.md): *Conform `Never` to `Equatable` and `Hashable`* was [accepted](https://forums.swift.org/t/se-0215-conform-never-to-equatable-and-hashable/13586/45).
@@ -76,6 +80,21 @@ I'd encourage you to read [the rest of the rationale](https://forums.swift.org/t
> [..] SwiftPM will now cache the loaded manifests for effectively all operations except dependency resolution. This provides great performance improvements during iterative development. Commands like `swift build`, `swift test`, `swift package edit`, `swift package generate-xcodeproj` should start significantly faster once the cache is created. For e.g., time spent to load all manifests of Vapor reduces from 3.7s to 64ms!
+[Jordan Rose](https://twitter.com/UINT_MIN) shared [an update on module stability](https://forums.swift.org/t/plan-for-module-stability/14551), which he will be working on in "the next year or so".
+
+> _ABI stability_ means that an executable compiled against Swift 5 will work with the Swift 6 libraries, and that an executable compiled against Swift 6 will work with the Swift 5 libraries. A related concept is module stability, which says that the _interface_ for a Swift 5 library will work with the Swift 6 compiler. (The opposite direction is less interesting.) More generally, *the interface for a library should be forward-compatible with future versions of the compiler*. This is useful in a number of ways:
+>
+> - Can test a new compiler without rebuilding all of an app's dependencies.
+> - May overlap with work to make the debugger work across Swift versions.
+> - May help reduce incremental build time by better tracking cross-target dependencies.
+> - Support for general _non-resilient_ binary frameworks.
+
+If you're interested in this, I would recommend reading the [full post](https://forums.swift.org/t/plan-for-module-stability/14551).
+
+[Nate Cook]() pitched [a proposal](https://forums.swift.org/t/array-initializer-with-access-to-uninitialized-buffer/13689) to expose the internal array initializer that has access to an uninitialized buffer.
+
+> There is currently no way to work with a buffer of uninitialized memory that then becomes a fully memory-managed `Array`. This limitation means that operations that don't know the final size of their data in advance, or that need to access noncontiguous parts of an array, are less efficient than necessary, often requiring an extra copy. This proposal suggests a new initializer for `Array` and `ContiguousArray` that would provide access to a newly created array's entire storage buffer.
+
### Finally
[Index out of bounds](https://twitter.com/jckarter/status/1018224486477279233). 💥
From a89422e99d3f7ad97e2ce97e1d43dde12c9430ee Mon Sep 17 00:00:00 2001
From: Ole Begemann
Date: Mon, 30 Jul 2018 05:18:47 +0200
Subject: [PATCH 046/613] Fix typo in issue 113 (#406)
---
_posts/2018-07-12-issue-113.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_posts/2018-07-12-issue-113.md b/_posts/2018-07-12-issue-113.md
index 94fbab7d..dacd90a5 100644
--- a/_posts/2018-07-12-issue-113.md
+++ b/_posts/2018-07-12-issue-113.md
@@ -31,7 +31,7 @@ In [episode 65](https://spec.fm/podcasts/swift-unwrapped/160476), Jesse and JP d
### Commits and pull requests
-[Mark Lacey](https://github.com/rudkx) opened [a pull request](https://github.com/apple/swift/pull/17691) to remove Swift 3 from type checher. "Goodbye, Swift 3"
+[Mark Lacey](https://github.com/rudkx) opened [a pull request](https://github.com/apple/swift/pull/17691) to remove Swift 3 from the type checker. "Goodbye, Swift 3"
[Slava Pestov](https://twitter.com/slava_pestov) merged several pull requests: [#17611](https://github.com/apple/swift/pull/17611), [#17651](https://github.com/apple/swift/pull/17651) and [#17816](https://github.com/apple/swift/pull/17816) - great additions to [SE-0156: Class and Subtype existentials](https://github.com/apple/swift-evolution/blob/master/proposals/0156-subclass-existentials.md) to add support for protocols with superclass constraints.
From ce5c047b01c0ecb36cca499f9d8b28955350f2f6 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Mon, 30 Jul 2018 22:24:58 +0200
Subject: [PATCH 047/613] bundle update
---
Gemfile.lock | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/Gemfile.lock b/Gemfile.lock
index 578fa422..785ae3bb 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -20,12 +20,12 @@ GEM
colorator (1.1.0)
colored2 (3.1.2)
colorize (0.8.1)
- commonmarker (0.17.7.1)
+ commonmarker (0.17.9)
ruby-enum (~> 0.5)
concurrent-ruby (1.0.5)
cork (0.3.0)
colored2 (~> 3.1)
- danger (5.5.6)
+ danger (5.6.4)
claide (~> 1.0)
claide-plugins (>= 0.9.2)
colored2 (~> 3.1)
@@ -37,19 +37,19 @@ GEM
no_proxy_fix
octokit (~> 4.7)
terminal-table (~> 1)
- danger-prose (2.0.5)
+ danger-prose (2.0.7)
danger
ethon (0.11.0)
ffi (>= 1.3.0)
execjs (2.7.0)
- faraday (0.13.1)
+ faraday (0.15.2)
multipart-post (>= 1.2, < 3)
faraday-http-cache (1.3.1)
faraday (~> 0.8)
- ffi (1.9.18)
+ ffi (1.9.25)
forwardable-extended (2.6.0)
gemoji (3.0.0)
- git (1.3.0)
+ git (1.4.0)
github-pages (172)
activesupport (= 4.2.9)
github-pages-health-check (= 1.3.5)
@@ -100,10 +100,10 @@ GEM
octokit (~> 4.0)
public_suffix (~> 2.0)
typhoeus (~> 0.7)
- html-pipeline (2.7.1)
+ html-pipeline (2.8.4)
activesupport (>= 2)
nokogiri (>= 1.4)
- i18n (0.9.1)
+ i18n (0.9.5)
concurrent-ruby (~> 1.0)
jekyll (3.6.2)
addressable (~> 2.4)
@@ -121,7 +121,7 @@ GEM
jekyll-coffeescript (1.0.2)
coffee-script (~> 2.2)
coffee-script-source (~> 1.11.1)
- jekyll-commonmark (1.1.0)
+ jekyll-commonmark (1.2.0)
commonmarker (~> 0.14)
jekyll (>= 3.0, < 4.0)
jekyll-commonmark-ghpages (0.1.3)
@@ -219,28 +219,28 @@ GEM
mini_portile2 (2.3.0)
minima (2.1.1)
jekyll (~> 3.3)
- minitest (5.11.1)
+ minitest (5.11.3)
multipart-post (2.0.0)
nap (1.1.0)
net-dns (0.8.0)
no_proxy_fix (0.1.2)
- nokogiri (1.8.1)
+ nokogiri (1.8.4)
mini_portile2 (~> 2.3.0)
- octokit (4.8.0)
+ octokit (4.9.0)
sawyer (~> 0.8.0, >= 0.5.3)
open4 (1.3.4)
pathutil (0.16.1)
forwardable-extended (~> 2.6)
public_suffix (2.0.5)
- rb-fsevent (0.10.2)
+ rb-fsevent (0.10.3)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
rouge (2.2.1)
- ruby-enum (0.7.1)
+ ruby-enum (0.7.2)
i18n
rubyzip (1.2.1)
safe_yaml (1.0.4)
- sass (3.5.5)
+ sass (3.5.7)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
@@ -253,9 +253,9 @@ GEM
thread_safe (0.3.6)
typhoeus (0.8.0)
ethon (>= 0.8.0)
- tzinfo (1.2.4)
+ tzinfo (1.2.5)
thread_safe (~> 0.1)
- unicode-display_width (1.3.0)
+ unicode-display_width (1.4.0)
PLATFORMS
ruby
From 3f0be1e7e4255ad8730e0938ba44075ed0144f85 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 9 Aug 2018 18:57:13 +0200
Subject: [PATCH 048/613] Publish issue 115
Closes #404
---
_posts/2018-08-09-issue-115.md | 82 ++++++++++++++++++++++++++++++++++
1 file changed, 82 insertions(+)
create mode 100644 _posts/2018-08-09-issue-115.md
diff --git a/_posts/2018-08-09-issue-115.md b/_posts/2018-08-09-issue-115.md
new file mode 100644
index 00000000..a6a9c852
--- /dev/null
+++ b/_posts/2018-08-09-issue-115.md
@@ -0,0 +1,82 @@
+---
+layout: post
+title: ! 'Issue #115'
+author: btb
+---
+
+A calm week during these warm two summer weeks. Nevertheless, here is a quick update on what has happened these weeks.
+
+
+
+### Starter tasks
+
+- [SR-8467](https://bugs.swift.org/browse/SR-8467) [Compiler] Invalid read when calling `swift::AnyFunctionType::getExtInfo`
+- [SR-8464](https://bugs.swift.org/browse/SR-8464) [Compiler] Attempting to print a function should require the use of `String(describing:)`
+- [SR-8453](https://bugs.swift.org/browse/SR-8453) [Compiler] Warn when redundant access modifier is added in an extension
+
+### Swift Unwrapped
+
+While Jesse and JP are on a holiday break from the podcast, you can find all previous episodes [here](https://spec.fm/podcasts/swift-unwrapped).
+
+### News and community
+
+[Nicole Jacque](https://forums.swift.org/u/nicole_jacque/summary) shared that [Swift 4.1.3](https://forums.swift.org/t/swift-4-1-3-is-released-linux-only/14847), with a [Linux-only fix](https://bugs.swift.org/browse/SR-7650), has been released.
+
+### Commits and pull requests
+
+[Slava Pestov](https://twitter.com/slava_pestov) merged [a pull request](https://github.com/apple/swift/pull/18145) getting rid of redundancy in protocol derivation.
+
+[Philippe Hausler](https://github.com/phausler) merged [a pull request](https://github.com/apple/swift/pull/18469) to fix ambiguous mapping to `Data` from a byte sequence in Swift 4.2.
+
+[David Hart](https://twitter.com/dhartbit) merged [a pull request](https://github.com/apple/swift-package-manager/pull/1537) that allows SwiftPM to use `llbuild` as a library, which will "enable great new features and enhancements in the future".
+
+[Pavel Yaskevich](https://github.com/xedin) merged [a pull request](https://github.com/apple/swift/pull/18484) to emit diagnostics directly from the constraint solver, moving away from re-type checking sub-expressions after a failure, which has been a source of misleading diagnostics and crashes.
+
+### Accepted proposals
+
+[SE-0221](https://github.com/apple/swift-evolution/blob/master/proposals/0221-character-properties.md): *Character Properties* was [accepted with pending discussion](https://forums.swift.org/t/accepted-with-pending-discussion-se-0221-character-properties/14944).
+
+> SE-0221 has been accepted, with the exception of the `.isEmoji` property.
+>
+> The core team accepts the principle for the `isEmoji` property, but wants to continue the discussion of exactly how it should work. Therefore the thread will remain open for this specific topic through **August 10th**. The other functionality can be merged into master in the meantime.
+
+### Proposals in review
+
+[SE-0220](https://github.com/apple/swift-evolution/blob/master/proposals/0220-count-where.md): *`count(where:)`* is [under review](https://forums.swift.org/t/se-0220-count-where/15048).
+
+> While Swift's `Sequence` models brings a lot of niceties that we didn't have access to in Objective-C, like `map` and `filter`, there are other useful operations on sequences that the standard library doesn't support yet. One current missing operation is `count(where:)`, which counts the number of elements in a `Sequence` that pass some test.
+
+[SE-0222](https://github.com/apple/swift-evolution/blob/master/proposals/0222-lazy-compactmap-sequence.md): *Lazy CompactMap Sequence* is [under review](https://forums.swift.org/t/se-0222-lazy-compactmap-sequence/14850).
+
+> Chaining multiple `.map()`s and `.filter()`s on a lazy collection leads to suboptimal codegen, as well as large, painful type names.
+>
+> To improve this, we propose adding a `LazyCompactMap{Sequence, Collection}` type along with some overloads on the other lazy collection types' `.map(_:)` and `.filter(_:)` functions which return this type to get better codegen and shorter type names.
+
+### Swift Forums
+
+[Brent Royal-Gordon](http://twitter.com/brentdax) pitched [a proposal](https://forums.swift.org/t/draft-fix-string-interpolation-swift-5-edition/14786) to fix String interpolation in Swift 5.
+
+> String interpolation is a simple and powerful feature for expressing complex, runtime-created strings, but the current version of the `ExpressibleByStringInterpolation` protocol has been deprecated since Swift 3. We propose a new design which improves its performance, clarity, and efficiency.
+
+[Erica Sadun](http://twitter.com/ericasadun/status/970754573609484288) pitched [a proposal](https://forums.swift.org/t/support-repeating-initializers-with-closures-not-just-values/14666) to support repeating initializers with closures.
+
+> I'd like to pitch a protocol that supports repeated initializers, both for a repeated element and for `() -> Element`. The goal is to ensure that any type that conforms to the protocol guarantees that if you can initialize with _n_ copies of a value type, then you can initialize with _n_ instances of a reference type or _n_ applications of a closure:
+
+{% highlight swift %}
+protocol RepeatingInitializable: Collection {
+
+ /// See also: `Repeat.swift`: A collection whose elements are all identical.
+ /// https://github.com/apple/swift/blob/master/stdlib/public/core/Repeat.swift
+ public init(repeating repeatedValue: Element, count: Int)
+
+ /// Allow reference types to generate new instances and value types
+ /// to use a closure to create potentially distinct values
+ ///
+ /// A collection whose elements are all created by an identical generator
+ public init(repeating repeatedGenerator: @autoclosure () -> Element, count: Int)
+}
+{% endhighlight %}
+
+### Finally
+
+[When you try to run Swift locally](https://twitter.com/aciidb0mb3r/status/1026241132848537600)...
From d6914f834696a53a67ceaa08a2d954aae5358741 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Wed, 22 Aug 2018 22:33:53 +0200
Subject: [PATCH 049/613] 116 draft
Ref #407
---
_drafts/2018-08-23-issue-116.md | 65 +++++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)
create mode 100644 _drafts/2018-08-23-issue-116.md
diff --git a/_drafts/2018-08-23-issue-116.md b/_drafts/2018-08-23-issue-116.md
new file mode 100644
index 00000000..d65eb481
--- /dev/null
+++ b/_drafts/2018-08-23-issue-116.md
@@ -0,0 +1,65 @@
+---
+layout: post
+title: ! 'Issue #116'
+author: btb
+---
+
+September is approaching swiftly, which means that we'll be seeing new iPhones and all the new software before we know it.
+
+
+
+### Starter tasks
+
+- [SR-8507](https://bugs.swift.org/browse/SR-8507) [Compiler] 'foo bar' could have fixit suggesting missing `.` rather than just `;` or `,`
+- [SR-8536](https://bugs.swift.org/browse/SR-8536) [Compiler] Warn on member assignments capturing `self`
+- [SR-8598](https://bugs.swift.org/browse/SR-8598) [Compiler] Deprecating then obsoleting can be error prone
+
+### Swift Unwrapped
+
+https://twitter.com/swift_unwrapped/status/1031542426282942464 + https://twitter.com/simjp/status/1031547194594144257
+
+### News and community
+
+https://forums.swift.org/t/swift-4-2-in-final-convergence-swift-4-2-branch-open-for-post-4-2-0-changes/15128/1
+
+### Commits and pull requests
+
+https://github.com/apple/swift/pull/18579
+
+https://github.com/apple/swift/pull/18539
+
+https://github.com/apple/swift/pull/18699
+
+### Accepted proposals
+
+224 https://forums.swift.org/t/se-0224-support-less-than-operator-in-compilation-conditions/15213/5
+
+### Returned proposals
+
+200
+
+### Rejected proposals
+
+> TODO
+
+### Proposals in review
+
+223 https://github.com/apple/swift-evolution/blob/master/proposals/0223-array-uninitialized-initializer.md
+
+224
+
+225
+
+226 https://forums.swift.org/t/se-0226-package-manager-target-based-dependency-resolution/15404
+
+### Swift Forums
+
+https://forums.swift.org/t/rfc-swift-package-publish-precheck/15398
+
+https://forums.swift.org/t/resolved-insert-is-a-bad-fixit/10764/102
+
+https://forums.swift.org/t/crowdfunding-world-domination/13655/113
+
+### Finally
+
+[Old but gold](https://twitter.com/ryzokuken/status/1030367978691260416) (I mean green).
From e295bf55f646062923fc5e15a11c5ff224d4e2c7 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 23 Aug 2018 19:48:37 +0200
Subject: [PATCH 050/613] Post issue 116
Closes #407
---
_drafts/2018-08-23-issue-116.md | 65 ----------------------
_posts/2018-08-23-issue-116.md | 97 +++++++++++++++++++++++++++++++++
2 files changed, 97 insertions(+), 65 deletions(-)
delete mode 100644 _drafts/2018-08-23-issue-116.md
create mode 100644 _posts/2018-08-23-issue-116.md
diff --git a/_drafts/2018-08-23-issue-116.md b/_drafts/2018-08-23-issue-116.md
deleted file mode 100644
index d65eb481..00000000
--- a/_drafts/2018-08-23-issue-116.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-layout: post
-title: ! 'Issue #116'
-author: btb
----
-
-September is approaching swiftly, which means that we'll be seeing new iPhones and all the new software before we know it.
-
-
-
-### Starter tasks
-
-- [SR-8507](https://bugs.swift.org/browse/SR-8507) [Compiler] 'foo bar' could have fixit suggesting missing `.` rather than just `;` or `,`
-- [SR-8536](https://bugs.swift.org/browse/SR-8536) [Compiler] Warn on member assignments capturing `self`
-- [SR-8598](https://bugs.swift.org/browse/SR-8598) [Compiler] Deprecating then obsoleting can be error prone
-
-### Swift Unwrapped
-
-https://twitter.com/swift_unwrapped/status/1031542426282942464 + https://twitter.com/simjp/status/1031547194594144257
-
-### News and community
-
-https://forums.swift.org/t/swift-4-2-in-final-convergence-swift-4-2-branch-open-for-post-4-2-0-changes/15128/1
-
-### Commits and pull requests
-
-https://github.com/apple/swift/pull/18579
-
-https://github.com/apple/swift/pull/18539
-
-https://github.com/apple/swift/pull/18699
-
-### Accepted proposals
-
-224 https://forums.swift.org/t/se-0224-support-less-than-operator-in-compilation-conditions/15213/5
-
-### Returned proposals
-
-200
-
-### Rejected proposals
-
-> TODO
-
-### Proposals in review
-
-223 https://github.com/apple/swift-evolution/blob/master/proposals/0223-array-uninitialized-initializer.md
-
-224
-
-225
-
-226 https://forums.swift.org/t/se-0226-package-manager-target-based-dependency-resolution/15404
-
-### Swift Forums
-
-https://forums.swift.org/t/rfc-swift-package-publish-precheck/15398
-
-https://forums.swift.org/t/resolved-insert-is-a-bad-fixit/10764/102
-
-https://forums.swift.org/t/crowdfunding-world-domination/13655/113
-
-### Finally
-
-[Old but gold](https://twitter.com/ryzokuken/status/1030367978691260416) (I mean green).
diff --git a/_posts/2018-08-23-issue-116.md b/_posts/2018-08-23-issue-116.md
new file mode 100644
index 00000000..a1e1b120
--- /dev/null
+++ b/_posts/2018-08-23-issue-116.md
@@ -0,0 +1,97 @@
+---
+layout: post
+title: ! 'Issue #116'
+author: btb
+---
+
+September is approaching swiftly, which means that we'll be seeing new iPhones and all the new software before we know it.
+
+And although that won't yet bring Swift 5, we will get Swift 4.2 that comes with some awesome improvements as well, plus we'll still have Swift 5 to look forward to!
+
+
+
+### Starter tasks
+
+- [SR-8507](https://bugs.swift.org/browse/SR-8507) [Compiler] 'foo bar' could have fixit suggesting missing `.` rather than just `;` or `,`
+- [SR-8536](https://bugs.swift.org/browse/SR-8536) [Compiler] Warn on member assignments capturing `self`
+- [SR-8598](https://bugs.swift.org/browse/SR-8598) [Compiler] Deprecating then obsoleting can be error prone
+
+### Swift Unwrapped
+
+Swift Unwrapped is back from the summer break, and will take on [a new format](https://twitter.com/simjp/status/1031547194594144257) with longer episodes once a month.
+
+In [episode 66](https://spec.fm/podcasts/swift-unwrapped/184831), Jesse and JP discuss the plan for module stability, outlined by [Jordan Rose](https://twitter.com/uint_min) on the [forums](https://forums.swift.org/t/plan-for-module-stability/14551).
+
+### News and community
+
+[Ted Kremenek](https://twitter.com/tkremenek) shared that Swift 4.2 is [in final convergence](https://forums.swift.org/t/swift-4-2-in-final-convergence-swift-4-2-branch-open-for-post-4-2-0-changes/15128/1). Not much longer now!
+
+### Commits and pull requests
+
+[Jordan Rose](https://twitter.com/uint_min) merged [a pull request](https://github.com/apple/swift/pull/18579) that adds default argument values in the generated interface view within Xcode. This also closes [SR-2608](https://bugs.swift.org/browse/SR-2608).
+
+[Doug Gregor](https://twitter.com/dgregor79) merged [a pull request](https://github.com/apple/swift/pull/18539) improving name lookup from declaration checking. "With the request evaluator, new function type representation, `SubstitutionMap` redesign and removal of curried parameter lists we’re finally paying off a lot of tech debt - the implementation is catching up to the language" 🎉
+
+[Greg Titus](https://twitter.com/gregtitus) merged [a pull request](https://github.com/apple/swift/pull/18699) that ports Optional unwrapping fixits to the new diagnostics framework.
+
+### Accepted proposals
+
+[SE-0224](https://github.com/apple/swift-evolution/blob/master/proposals/0224-ifswift-lessthan-operator.md): *Support 'less than' operator in compilation conditions* was [accepted](https://forums.swift.org/t/se-0224-support-less-than-operator-in-compilation-conditions/15213/5).
+
+> The proposal text will be amended to include the mention of the change of behavior to `#if compiler`, which is also reflected in the implementation and logically fits in with this change:
+>
+>> The proposal only mentions `#if swift(<4.2)` but the implementation also appears to support `#if compiler(<4.2)` from [SE-0212](https://github.com/apple/swift-evolution/blob/master/proposals/0212-compiler-version-directive.md).
+
+### Returned proposals
+
+[SE-0200](https://github.com/apple/swift-evolution/blob/master/proposals/0200-raw-string-escaping.md): *Enhancing String Literals Delimiters to Support Raw Text* was [returned for revision](https://forums.swift.org/t/se-0200-enhancing-string-literals-delimiters-to-support-raw-text/15420).
+
+> Like many computer languages, Swift uses an escape character (`\`) to create a special interpretation of subsequent characters within a string literal. Escape character sequences represent a set of predefined, non-printing characters as well as string delimiters (the double quote), the escape character (the backslash itself), and (uniquely in Swift) to allow in-string expression interpolation.
+>
+> Escape characters provide useful and necessary capabilities but strings containing many escape sequences are difficult to read. Other languages have solved this problem by providing an alternate "raw" string literal syntax which does not process escape sequences. As the name suggests, raw string literals allow you to use "raw" text, incorporating backslashes and double quotes without escaping.
+>
+> We propose to alter Swift's string literal design to do the same, using a new design which we believe fits Swift's simple and clean syntax. This design supports both single-line and multi-line string literals, and can contain any content whatsoever.
+
+### Proposals in review
+
+[SE-0223](https://github.com/apple/swift-evolution/blob/master/proposals/0223-array-uninitialized-initializer.md): *Accessing an Array's Uninitialized Buffer* is [under review](https://forums.swift.org/t/se-0223-accessing-an-arrays-uninitialized-buffer/15194).
+
+> This proposal suggests a new initializer and method for `Array` and `ContiguousArray` that provide access to an array's uninitialized storage buffer.
+>
+> Some collection operations require working on a fixed-size buffer of uninitialized memory. For example, one O(*n*) algorithm for performing a stable partition of an array is as follows:
+>
+> 1. Create a new array the same size as the original array.
+> 2. Iterate over the original array, copying matching elements to the beginning of the new array and non-matching elements to the end.
+> 3. When finished iterating, reverse the slice of non-matching elements.
+>
+> Unfortunately, the standard library provides no way to create an array of a particular size without allocating every element, or to copy elements to the end of an array's buffer without initializing every preceding element.
+
+[SE-0225](https://github.com/apple/swift-evolution/blob/master/proposals/0225-binaryinteger-iseven-isodd-ismultiple.md): *Adding `isEven`, `isOdd`, `isMultiple` to `BinaryInteger`* is [under review](https://forums.swift.org/t/se-0225-adding-iseven-isodd-ismultiple-to-binaryinteger/15382).
+
+> This proposal adds `var isEven: Bool`, `var isOdd: Bool`, and `func isMultiple(of other: Self) -> Bool` to the `BinaryInteger` protocol. `isEven` and `isOdd` are convenience properties for querying the [parity](https://en.wikipedia.org/wiki/Parity_(mathematics)) of the integer and `isMultiple` is a more general function to determine whether an integer is a multiple of another integer.
+
+[SE-0226](https://github.com/apple/swift-evolution/blob/master/proposals/0226-package-manager-target-based-dep-resolution.md): *Package Manager Target Based Dependency Resolution* is [under review](https://forums.swift.org/t/se-0226-package-manager-target-based-dependency-resolution/15404).
+
+> This is a proposal for enhancing the package resolution process to resolve the minimal set of dependencies that are used in a package graph.
+>
+> The current package resolution process resolves all declared dependencies in the package graph. Some of the declared dependencies may not be required by the products that are being used in the package graph. For e.g., a package may be using some additional dependencies for its test targets. The packages that depend on this package doesn't need to resolve such additional dependencies. These dependencies increase the overall constraint in the dependency resolution process that can otherwise be avoided. It can cause more cases of dependency hell if two packages want to use incompatible versions of a dependency that they only use for their unexported products. Cloning unnecessary dependencies also impacts the performance of the resolution process.
+
+### Swift Forums
+
+[Ankit Aggarwal](https://twitter.com/aciidb0mb3r) shared [a small proposal](https://forums.swift.org/t/rfc-swift-package-publish-precheck/15398) regarding tagging and publishing of Swift packages.
+
+> Swift packages can be in a bunch of states which makes them inappropriate for tagging or publishing. I think having a command to detect such states would be valuable for Swift package authors. In the future, this can even evolve into a larger tag-and-publish workflow feature.
+
+[Greg Titus](https://twitter.com/gregtitus) shared [an update](https://forums.swift.org/t/resolved-insert-is-a-bad-fixit/10764/102) on the much improved fixits for Optional chaining and force unwrapping.
+
+> [..] The force unwrap fixit still exists, but it is now never the only or preferred fixit offered, and hopefully the explanations of the errors are a lot more beginner-friendly now.
+
+These error messages have been much-improved. I recommend [taking a look](https://forums.swift.org/t/resolved-insert-is-a-bad-fixit/10764/102) at the changes yourself.
+
+[Ted Kremenek](https://twitter.com/tkremenek) shared [they are evaluating implementing the Language Server Protocol in Swift](https://forums.swift.org/t/crowdfunding-world-domination/13655/113).
+
+> [We] have also been recently discussing offline LSP and evaluating potential strategies. We'll start a thread soon once we've put those thoughts in order; should be soon.
+
+### Finally
+
+[Old but ~~gold~~ green](https://twitter.com/ryzokuken/status/1030367978691260416).
From e17c3410c66adbe68a270c9f952a7394e06fffdf Mon Sep 17 00:00:00 2001
From: Greg Heo
Date: Wed, 5 Sep 2018 19:19:30 -0700
Subject: [PATCH 051/613] [117] Add initial draft and notes
---
_drafts/2018-09-06-issue-117.md | 64 +++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
create mode 100644 _drafts/2018-09-06-issue-117.md
diff --git a/_drafts/2018-09-06-issue-117.md b/_drafts/2018-09-06-issue-117.md
new file mode 100644
index 00000000..70f4dae3
--- /dev/null
+++ b/_drafts/2018-09-06-issue-117.md
@@ -0,0 +1,64 @@
+---
+layout: post
+title: ! 'Issue #117'
+author: gregheo
+---
+
+> TODO: intro comments and lines of verse
+
+
+
+### Swift Unwrapped
+
+> TODO: Latest episode(s) of Swift Unwrapped
+
+### News and community
+
+The LLVM Foundation [announced the program for the 2018 LLVM Developers' Meeting](http://blog.llvm.org/2018/08/announcing-program-for-2018-llvm.html) scheduled for October 17–18 in San Jose. Swift nerds will [recognize](https://llvm.org/devmtg/2018-10/talk-abstracts.html#talk15) several [names](https://llvm.org/devmtg/2018-10/talk-abstracts.html#talk13) on the [program](https://llvm.org/devmtg/2018-10/talk-abstracts.html#talk12).
+
+The [Swift Server Work Group](https://swift.org/server/) has a new stated goal:
+
+> The main goal of the Swift Server work group is to eventually recommend libraries and tools for server application development with Swift.
+
+[SwiftNIO](https://github.com/apple/swift-nio) is currently the sole recommended library, but you can stay on top of updates from the group in the [Server category of the Swift forums](https://forums.swift.org/c/development/server).
+
+
+### Commits and pull requests
+
+[Doug Gregor](https://github.com/DougGregor) merged in some new ["Request-Evaluator" infrastructure](https://twitter.com/dgregor79/status/1032774695039324160) around the type checker to help eliminate mutable state and track dependencies. See the [design document](https://github.com/apple/swift/blob/master/docs/RequestEvaluator.md) and [pull request](https://github.com/apple/swift/pull/18923) for all the details.
+
+[Erik Eckstein](https://github.com/eeckstein) removed the now unneeded [pinning built-ins and SIL instructions](https://github.com/apple/swift/pull/18922). As [summarized in a tweet](https://twitter.com/slava_pestov/status/1032871154032111616): "Nice simplification of the Swift reference counting model - the entire concept of “pinning” is gone now, thanks to exclusivity enforcement".
+
+
+### Accepted proposals
+
+[SE-0200](https://github.com/apple/swift-evolution/blob/master/proposals/0200-raw-string-escaping.md): _Enhancing String Literals Delimiters to Support Raw Text_ was [accepted](https://forums.swift.org/t/accepted-se-0200-enhancing-string-literals-delimiters-to-support-raw-text/15822/1).
+
+[SE-0226](https://github.com/apple/swift-evolution/blob/master/proposals/0226-package-manager-target-based-dep-resolution.md): _Package Manager Target Based Dependency Resolution_
+was [accepted](https://forums.swift.org/t/se-0226-package-manager-target-based-dependency-resolution/15404/16) with generally positive comments all around.
+
+
+### Returned proposals
+
+> TODO
+
+### Rejected proposals
+
+[SE-0132](https://github.com/apple/swift-evolution/blob/master/proposals/0132-sequence-end-ops.md): _Rationalizing Sequence end-operation names_ [was rejected](https://github.com/apple/swift-evolution/pull/898). Although it would make sequence and collection operation naming more consistent (e.g. "first" vs "start" vs "prefix"), the core team decided the source compatibility hit would be too great.
+
+[SE-0222](https://github.com/apple/swift-evolution/blob/master/proposals/0222-lazy-compactmap-sequence.md): _Lazy CompactMap Sequence_ [was rejected](https://forums.swift.org/t/se-0222-lazy-compactmap-sequence/14850/16). The proposal would have added a new `LazyCompactMapCollection` to represent a `compactMap` to more efficiently handle a chain of `map` and `filter` operations.
+
+The core team decided the performance benefits were negligible and not worth the increased complexity pointed out during the review discussion.
+
+
+### Proposals in review
+
+> TODO
+
+### Swift Forums
+
+> TODO
+
+### Finally
+
+> TODO: something funny/fun. tweet, link, etc.
From ca9e6edaafdcced7928aa0184e363eff0818dc5c Mon Sep 17 00:00:00 2001
From: Greg Heo
Date: Wed, 5 Sep 2018 21:57:27 -0700
Subject: [PATCH 052/613] [117] More words
---
_drafts/2018-09-06-issue-117.md | 32 ++++++++++++++++++++++++--------
1 file changed, 24 insertions(+), 8 deletions(-)
diff --git a/_drafts/2018-09-06-issue-117.md b/_drafts/2018-09-06-issue-117.md
index 70f4dae3..4d2c5635 100644
--- a/_drafts/2018-09-06-issue-117.md
+++ b/_drafts/2018-09-06-issue-117.md
@@ -8,9 +8,6 @@ author: gregheo
-### Swift Unwrapped
-
-> TODO: Latest episode(s) of Swift Unwrapped
### News and community
@@ -32,7 +29,11 @@ The [Swift Server Work Group](https://swift.org/server/) has a new stated goal:
### Accepted proposals
-[SE-0200](https://github.com/apple/swift-evolution/blob/master/proposals/0200-raw-string-escaping.md): _Enhancing String Literals Delimiters to Support Raw Text_ was [accepted](https://forums.swift.org/t/accepted-se-0200-enhancing-string-literals-delimiters-to-support-raw-text/15822/1).
+[SE-0200](https://github.com/apple/swift-evolution/blob/master/proposals/0200-raw-string-escaping.md): _Enhancing String Literals Delimiters to Support Raw Text_ [was accepted](https://forums.swift.org/t/accepted-se-0200-enhancing-string-literals-delimiters-to-support-raw-text/15822/1). With extra delimiting characters `#"like this"#`, you’ll be able to control how escaping works and have an easier time writing "raw" text.
+
+This is one of the best written Swift Evolution proposals in my opinion, and has an epic **461** [forum posts](https://forums.swift.org/t/pure-bikeshedding-raw-strings-why-yes-again/13866) split [across](https://forums.swift.org/t/se-0200-raw-mode-string-literals/11048) three [threads](https://forums.swift.org/t/se-0200-enhancing-string-literals-delimiters-to-support-raw-text/15420).
+
+[SE-0225](https://github.com/apple/swift-evolution/blob/master/proposals/0225-binaryinteger-iseven-isodd-ismultiple.md): _Adding `isMultiple` to `BinaryInteger`_ [was accepted with modifications](https://forums.swift.org/t/accepted-with-modifications-se-0225-adding-ismultiple-to-binaryinteger/15689). The `isMultiple(of:)` method made it, but proposed computed properties `isEven` and `isOdd` were dropped.
[SE-0226](https://github.com/apple/swift-evolution/blob/master/proposals/0226-package-manager-target-based-dep-resolution.md): _Package Manager Target Based Dependency Resolution_
was [accepted](https://forums.swift.org/t/se-0226-package-manager-target-based-dependency-resolution/15404/16) with generally positive comments all around.
@@ -40,7 +41,8 @@ was [accepted](https://forums.swift.org/t/se-0226-package-manager-target-based-d
### Returned proposals
-> TODO
+[SE-0223](https://github.com/apple/swift-evolution/blob/master/proposals/0223-array-uninitialized-initializer.md): _Accessing an Array's Uninitialized Buffer_ [was returned for revision](https://forums.swift.org/t/se-0223-accessing-an-arrays-uninitialized-buffer/15194/40). This proposal would allow you to initialize and access arrays via raw buffer. The core team is looking for more usage experience and discussion mostly around handling errors.
+
### Rejected proposals
@@ -53,12 +55,26 @@ The core team decided the performance benefits were negligible and not worth the
### Proposals in review
-> TODO
+[SE-0227](https://github.com/apple/swift-evolution/blob/master/proposals/0227-identity-keypath.md): _Identity key path_ [is in review](https://forums.swift.org/t/se-0227-identity-key-path/15830) through Friday September 14.
+
+Swift values already have a `.self` pseudo-property to refer to the value itself, and this proposal would add a corresponding key path `\.self`.
+
### Swift Forums
-> TODO
+Containerization has officially reached the world of Swift: Haris Amin posted about plans to offer [an official Docker image](https://forums.swift.org/t/kickstarting-new-official-docker-support-for-swift/15487) for the community.
+
+[Doug Gregor](https://forums.swift.org/u/Douglas_Gregor) wrote a pitch for [Opaque result types](https://forums.swift.org/t/opaque-result-types/15645) — the ability to hide a function’s exact return type and specify its capabilities instead.
+
+[Erik Eckstein](https://forums.swift.org/u/Erik_Eckstein) wrote an update on [improvements to running benchmarks on pull requests](https://forums.swift.org/t/improved-benchmarking-for-pull-requests/15461). They are faster, less noisy, and have nicer reports — a great boost to developer productivity.
+
+[Alex Hoppen](https://forums.swift.org/u/ahoppen) announced [SwiftSyntax is now in its own repository](https://forums.swift.org/t/swiftsyntax-is-now-a-swiftpm-project/15691) and available to include via Swift Package Manager. [SwiftSyntax](https://github.com/apple/swift-syntax) is a wrapper for [libSyntax](https://github.com/apple/swift/tree/master/lib/Syntax) and lets you write tools to work with Swift code in Swift.
+
+[Daniel Duan highlighted](https://twitter.com/daniel_duan/status/1035331454467796993) the [approval post for SE-0225](https://forums.swift.org/t/accepted-with-modifications-se-0225-adding-ismultiple-to-binaryinteger/15689) mentioned above, where review manager [John McCall](https://forums.swift.org/u/John_McCall) listed guidelines for what gets included in the standard library:
+
+> To be considered for addition to the library, a proposed feature must satisfy two conditions: it must provide functionality that is useful to a substantial population of Swift programmers, and it must provide substantial advantages over the alternative ways of accomplishing that functionality.
+
### Finally
-> TODO: something funny/fun. tweet, link, etc.
+Add this to the category of things I read all the time, but never had to say out loud and [don't know how to pronounce](https://twitter.com/jckarter/status/1035568097535508480).
From 7341b61e6ff1d84b38fd0640198319733350d8e3 Mon Sep 17 00:00:00 2001
From: Greg Heo
Date: Wed, 5 Sep 2018 22:09:16 -0700
Subject: [PATCH 053/613] Boosted default graf font size
Blockquote font was bigger than paragraph font, which seems weird, so
make them the same. Also, we're not getting any younger so let's be kind
to our eyes :).
---
css/style.css | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/css/style.css b/css/style.css
index e2003831..4e100447 100644
--- a/css/style.css
+++ b/css/style.css
@@ -7,8 +7,9 @@ body {
}
body p {
- line-height: 2.5rem;
+ line-height: 2.7rem;
padding: 0.5rem 0rem 0.5rem 0rem;
+ font-size: 16px;
}
hr {
From aea0cae70e2bb4acf2504e2084769a84f6848e9a Mon Sep 17 00:00:00 2001
From: Greg Heo
Date: Thu, 6 Sep 2018 08:07:26 -0700
Subject: [PATCH 054/613] [117] Final tweaks and edits
---
_drafts/2018-09-06-issue-117.md | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/_drafts/2018-09-06-issue-117.md b/_drafts/2018-09-06-issue-117.md
index 4d2c5635..f5d5272d 100644
--- a/_drafts/2018-09-06-issue-117.md
+++ b/_drafts/2018-09-06-issue-117.md
@@ -26,29 +26,31 @@ The [Swift Server Work Group](https://swift.org/server/) has a new stated goal:
[Erik Eckstein](https://github.com/eeckstein) removed the now unneeded [pinning built-ins and SIL instructions](https://github.com/apple/swift/pull/18922). As [summarized in a tweet](https://twitter.com/slava_pestov/status/1032871154032111616): "Nice simplification of the Swift reference counting model - the entire concept of “pinning” is gone now, thanks to exclusivity enforcement".
+Great work by [Pavol Vaskovic](https://bugs.swift.org/secure/ViewProfile.jspa?name=palimondo) on spotting a recent regression [causing incorrect sorting](https://bugs.swift.org/browse/SR-8682) (!) from the standard library, and [Kirill Chibisov](https://github.com/overlazy) for [the bug fix](https://github.com/apple/swift/pull/19107). Test your code and watch your variable names!
+
### Accepted proposals
[SE-0200](https://github.com/apple/swift-evolution/blob/master/proposals/0200-raw-string-escaping.md): _Enhancing String Literals Delimiters to Support Raw Text_ [was accepted](https://forums.swift.org/t/accepted-se-0200-enhancing-string-literals-delimiters-to-support-raw-text/15822/1). With extra delimiting characters `#"like this"#`, you’ll be able to control how escaping works and have an easier time writing "raw" text.
-This is one of the best written Swift Evolution proposals in my opinion, and has an epic **461** [forum posts](https://forums.swift.org/t/pure-bikeshedding-raw-strings-why-yes-again/13866) split [across](https://forums.swift.org/t/se-0200-raw-mode-string-literals/11048) three [threads](https://forums.swift.org/t/se-0200-enhancing-string-literals-delimiters-to-support-raw-text/15420).
+This is one of the most well written Swift Evolution proposals in my opinion, and has an epic **461** [forum posts](https://forums.swift.org/t/pure-bikeshedding-raw-strings-why-yes-again/13866) split [across](https://forums.swift.org/t/se-0200-raw-mode-string-literals/11048) three [threads](https://forums.swift.org/t/se-0200-enhancing-string-literals-delimiters-to-support-raw-text/15420) for your reading pleasure.
-[SE-0225](https://github.com/apple/swift-evolution/blob/master/proposals/0225-binaryinteger-iseven-isodd-ismultiple.md): _Adding `isMultiple` to `BinaryInteger`_ [was accepted with modifications](https://forums.swift.org/t/accepted-with-modifications-se-0225-adding-ismultiple-to-binaryinteger/15689). The `isMultiple(of:)` method made it, but proposed computed properties `isEven` and `isOdd` were dropped.
+[SE-0225](https://github.com/apple/swift-evolution/blob/master/proposals/0225-binaryinteger-iseven-isodd-ismultiple.md): _Adding `isMultiple` to `BinaryInteger`_ [was accepted with modifications](https://forums.swift.org/t/accepted-with-modifications-se-0225-adding-ismultiple-to-binaryinteger/15689). The `isMultiple(of:)` method made it in, but proposed computed properties `isEven` and `isOdd` were dropped.
[SE-0226](https://github.com/apple/swift-evolution/blob/master/proposals/0226-package-manager-target-based-dep-resolution.md): _Package Manager Target Based Dependency Resolution_
-was [accepted](https://forums.swift.org/t/se-0226-package-manager-target-based-dependency-resolution/15404/16) with generally positive comments all around.
+was [accepted](https://forums.swift.org/t/se-0226-package-manager-target-based-dependency-resolution/15404/16) with generally positive comments all around. This change will speed up package resolution by only resolving dependencies that are actually used rather than all declared dependencies.
### Returned proposals
-[SE-0223](https://github.com/apple/swift-evolution/blob/master/proposals/0223-array-uninitialized-initializer.md): _Accessing an Array's Uninitialized Buffer_ [was returned for revision](https://forums.swift.org/t/se-0223-accessing-an-arrays-uninitialized-buffer/15194/40). This proposal would allow you to initialize and access arrays via raw buffer. The core team is looking for more usage experience and discussion mostly around handling errors.
+[SE-0223](https://github.com/apple/swift-evolution/blob/master/proposals/0223-array-uninitialized-initializer.md): _Accessing an Array's Uninitialized Buffer_ [was returned for revision](https://forums.swift.org/t/se-0223-accessing-an-arrays-uninitialized-buffer/15194/40). This proposal would allow you to initialize and access arrays via raw buffer. The core team was looking for more usage experience and discussion around handling errors.
### Rejected proposals
[SE-0132](https://github.com/apple/swift-evolution/blob/master/proposals/0132-sequence-end-ops.md): _Rationalizing Sequence end-operation names_ [was rejected](https://github.com/apple/swift-evolution/pull/898). Although it would make sequence and collection operation naming more consistent (e.g. "first" vs "start" vs "prefix"), the core team decided the source compatibility hit would be too great.
-[SE-0222](https://github.com/apple/swift-evolution/blob/master/proposals/0222-lazy-compactmap-sequence.md): _Lazy CompactMap Sequence_ [was rejected](https://forums.swift.org/t/se-0222-lazy-compactmap-sequence/14850/16). The proposal would have added a new `LazyCompactMapCollection` to represent a `compactMap` to more efficiently handle a chain of `map` and `filter` operations.
+[SE-0222](https://github.com/apple/swift-evolution/blob/master/proposals/0222-lazy-compactmap-sequence.md): _Lazy CompactMap Sequence_ [was rejected](https://forums.swift.org/t/se-0222-lazy-compactmap-sequence/14850/16). The proposal would have added a new `LazyCompactMapCollection` to represent a `compactMap` to more efficiently handle chains of `map` and `filter` operations.
The core team decided the performance benefits were negligible and not worth the increased complexity pointed out during the review discussion.
From bf54f62d08aa673fa0bd275cd939f8ec9d579bfe Mon Sep 17 00:00:00 2001
From: Greg Heo
Date: Thu, 6 Sep 2018 08:08:15 -0700
Subject: [PATCH 055/613] [117] Add preamble
---
_drafts/2018-09-06-issue-117.md | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/_drafts/2018-09-06-issue-117.md b/_drafts/2018-09-06-issue-117.md
index f5d5272d..b73f3d07 100644
--- a/_drafts/2018-09-06-issue-117.md
+++ b/_drafts/2018-09-06-issue-117.md
@@ -4,7 +4,19 @@ title: ! 'Issue #117'
author: gregheo
---
-> TODO: intro comments and lines of verse
+> Bikeshedding, literals, thinking raw strings;
+> Swift on the server is earning its wings.
+>
+> Numbers are multiples, even or odd;
+> Pull requests benchmarking faster, no fraud.
+>
+> September announcements are here once again;
+> New phones and devices, and soon Xcode 10.
+
+September is here, and we're closing out the Summer of Swift. We’ve almost made it through the beta period and now iOS 12, macOS Mojave, Xcode 10, and Swift 4.2 are upon us.
+
+There’s been a flurry of activity on Swift Evolution and around the community; let’s get started with all the latest!
+
From e0f8591f9a37bff029a8c502a5c83408c26164d2 Mon Sep 17 00:00:00 2001
From: Greg Heo
Date: Thu, 6 Sep 2018 08:15:54 -0700
Subject: [PATCH 056/613] [117] Publish issue 117; closes #408.
---
{_drafts => _posts}/2018-09-06-issue-117.md | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename {_drafts => _posts}/2018-09-06-issue-117.md (100%)
diff --git a/_drafts/2018-09-06-issue-117.md b/_posts/2018-09-06-issue-117.md
similarity index 100%
rename from _drafts/2018-09-06-issue-117.md
rename to _posts/2018-09-06-issue-117.md
From cfc596390f56006a0e6ac54cdd9457774e417ac4 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Wed, 19 Sep 2018 06:57:49 +0200
Subject: [PATCH 057/613] 118 initial draft
References #409
---
_drafts/2018-09-20-issue-118.md | 75 +++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
create mode 100644 _drafts/2018-09-20-issue-118.md
diff --git a/_drafts/2018-09-20-issue-118.md b/_drafts/2018-09-20-issue-118.md
new file mode 100644
index 00000000..feef7a4d
--- /dev/null
+++ b/_drafts/2018-09-20-issue-118.md
@@ -0,0 +1,75 @@
+---
+layout: post
+title: ! 'Issue #118'
+author: btb
+---
+
+So the lovely Greg took over last issue as I was at a conference, [try! Swift NYC](https://www.tryswift.co/events/2018/nyc/). I've had an amazing time at the conference (and New York) where I gave [a talk](https://speakerdeck.com/basthomas/taken-for-granted) about the history of Swift. A video of that talk will be posted in the future.
+
+A big thank you goes out to the organizers, the volunteers and all of those who I got to meet at the conference!
+
+That being said, and without further ado, here is an update on everything Swift from the past two weeks. A lot has happened!
+
+
+
+### Starter tasks
+
+- [SR-8625](https://bugs.swift.org/browse/SR-8625) [Compiler] Swift should warn if a closures is passed to an argument that is an `autoclosure`
+- [SR-8645](https://bugs.swift.org/browse/SR-8645) [Package Manager] BuildPlan error descriptions aren't printed
+- [SR-8646](https://bugs.swift.org/browse/SR-8646) [Package Manager] `BuildPlan.Error.missingLinuxMain` description rephrasing
+- [SR-8671](https://bugs.swift.org/browse/SR-8671) [Package Manager] `ARG_MAX` limit exceeded when compiles huge project
+
+### News and community
+
+https://swift.org/blog/swift-4-2-released/
+
+Xcode 10
+
+https://oleb.net/blog/2018/06/whats-new-in-swift-4-2-playground/
+
+https://www.hackingwithswift.com/articles/126/whats-new-in-swift-5-0
+
+https://numerics.diploid.ca (xwu)
+
+### Commits and pull requests
+
+The constraint solver is now iterative rather than recursive — this should fix some stack overflow issues: https://github.com/apple/swift/pull/19203
+
+In Swift, foo.self always evaluates to foo. So naturally, .self should be a valid keypath as well: https://github.com/apple/swift/pull/19382
+Now we’re just waiting for tuple keypaths so we can have full parity between member access syntax and keypath syntax
+
+### Accepted proposals
+
+https://github.com/apple/swift-evolution/blob/master/proposals/0227-identity-keypath.md + https://forums.swift.org/t/accepted-se-0227-identity-key-path/16278
+
+### Returned proposals
+
+> TODO
+
+### Rejected proposals
+
+> TODO
+
+### Proposals in review
+
+https://forums.swift.org/t/se-0228-fix-expressible-by-string-interpolation/16031
+
+### Swift Forums
+
+https://forums.swift.org/t/server-work-group-new-focus-areas/15969
+
+https://forums.swift.org/t/notes-on-numerics-in-swift/15746
+
+> A great number of questions are raised in these forums as to the functioning and design of numeric types and protocols in Swift. Sometimes, the answer can be found only by digging through the source code, and even then it's hard to place what you learn there within a larger context. Therefore, I've compiled a series of articles that delve into these topics in more detail.
+
+https://forums.swift.org/t/allow-self-x-in-class-convenience-initializers/15924
+
+> If we’re lucky we might soon be able to assign to ‘self’ in class convenience initializers, addressing a long-standing language restriction
+
+https://forums.swift.org/t/stable-branch-update-tomorrow-clang-llvm-required/16142
+
+> Swift's stable branch (v5.0) is upgrading to LLVM 7.0
+
+### Finally
+
+> TODO: something funny/fun. tweet, link, etc.
From 3a2c5c4d1749047c3f6e950136b5a2195c5e50a1 Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Thu, 20 Sep 2018 18:28:14 +0200
Subject: [PATCH 058/613] Finish 118 (#411)
---
_drafts/2018-09-20-issue-118.md | 75 -------------------
_posts/2018-09-20-issue-118.md | 124 ++++++++++++++++++++++++++++++++
2 files changed, 124 insertions(+), 75 deletions(-)
delete mode 100644 _drafts/2018-09-20-issue-118.md
create mode 100644 _posts/2018-09-20-issue-118.md
diff --git a/_drafts/2018-09-20-issue-118.md b/_drafts/2018-09-20-issue-118.md
deleted file mode 100644
index feef7a4d..00000000
--- a/_drafts/2018-09-20-issue-118.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-layout: post
-title: ! 'Issue #118'
-author: btb
----
-
-So the lovely Greg took over last issue as I was at a conference, [try! Swift NYC](https://www.tryswift.co/events/2018/nyc/). I've had an amazing time at the conference (and New York) where I gave [a talk](https://speakerdeck.com/basthomas/taken-for-granted) about the history of Swift. A video of that talk will be posted in the future.
-
-A big thank you goes out to the organizers, the volunteers and all of those who I got to meet at the conference!
-
-That being said, and without further ado, here is an update on everything Swift from the past two weeks. A lot has happened!
-
-
-
-### Starter tasks
-
-- [SR-8625](https://bugs.swift.org/browse/SR-8625) [Compiler] Swift should warn if a closures is passed to an argument that is an `autoclosure`
-- [SR-8645](https://bugs.swift.org/browse/SR-8645) [Package Manager] BuildPlan error descriptions aren't printed
-- [SR-8646](https://bugs.swift.org/browse/SR-8646) [Package Manager] `BuildPlan.Error.missingLinuxMain` description rephrasing
-- [SR-8671](https://bugs.swift.org/browse/SR-8671) [Package Manager] `ARG_MAX` limit exceeded when compiles huge project
-
-### News and community
-
-https://swift.org/blog/swift-4-2-released/
-
-Xcode 10
-
-https://oleb.net/blog/2018/06/whats-new-in-swift-4-2-playground/
-
-https://www.hackingwithswift.com/articles/126/whats-new-in-swift-5-0
-
-https://numerics.diploid.ca (xwu)
-
-### Commits and pull requests
-
-The constraint solver is now iterative rather than recursive — this should fix some stack overflow issues: https://github.com/apple/swift/pull/19203
-
-In Swift, foo.self always evaluates to foo. So naturally, .self should be a valid keypath as well: https://github.com/apple/swift/pull/19382
-Now we’re just waiting for tuple keypaths so we can have full parity between member access syntax and keypath syntax
-
-### Accepted proposals
-
-https://github.com/apple/swift-evolution/blob/master/proposals/0227-identity-keypath.md + https://forums.swift.org/t/accepted-se-0227-identity-key-path/16278
-
-### Returned proposals
-
-> TODO
-
-### Rejected proposals
-
-> TODO
-
-### Proposals in review
-
-https://forums.swift.org/t/se-0228-fix-expressible-by-string-interpolation/16031
-
-### Swift Forums
-
-https://forums.swift.org/t/server-work-group-new-focus-areas/15969
-
-https://forums.swift.org/t/notes-on-numerics-in-swift/15746
-
-> A great number of questions are raised in these forums as to the functioning and design of numeric types and protocols in Swift. Sometimes, the answer can be found only by digging through the source code, and even then it's hard to place what you learn there within a larger context. Therefore, I've compiled a series of articles that delve into these topics in more detail.
-
-https://forums.swift.org/t/allow-self-x-in-class-convenience-initializers/15924
-
-> If we’re lucky we might soon be able to assign to ‘self’ in class convenience initializers, addressing a long-standing language restriction
-
-https://forums.swift.org/t/stable-branch-update-tomorrow-clang-llvm-required/16142
-
-> Swift's stable branch (v5.0) is upgrading to LLVM 7.0
-
-### Finally
-
-> TODO: something funny/fun. tweet, link, etc.
diff --git a/_posts/2018-09-20-issue-118.md b/_posts/2018-09-20-issue-118.md
new file mode 100644
index 00000000..fb4d8b1e
--- /dev/null
+++ b/_posts/2018-09-20-issue-118.md
@@ -0,0 +1,124 @@
+---
+layout: post
+title: ! 'Issue #118'
+author: btb
+---
+
+So the lovely Greg took over last issue as I was at a conference, [try! Swift NYC](https://www.tryswift.co/events/2018/nyc/). I've had an amazing time at the conference (and New York) where I gave [a talk](https://speakerdeck.com/basthomas/taken-for-granted) about the history of Swift. A video of that talk will be posted in the future.
+
+A big thank you goes out to the organizers, the volunteers and all of those who I got to meet at the conference!
+
+---
+
+We are also working on bringing back [subscriptions via email](https://github.com/SwiftWeekly/swiftweekly.github.io/issues/410). To cover the associated costs, we are looking for sponsors again.
+
+We're sharing more details soon. If you or your company are interested in sponsoring the newsletter, please send me a direct message [on Twitter](https://twitter.com/basthomas).
+
+---
+
+That being said, and without further ado, here is an update on everything Swift from the past two weeks.
+
+
+
+### Starter tasks
+
+- [SR-8625](https://bugs.swift.org/browse/SR-8625) [Compiler] Swift should warn if a closures is passed to an argument that is an `autoclosure`
+- [SR-8645](https://bugs.swift.org/browse/SR-8645) [Package Manager] BuildPlan error descriptions aren't printed
+- [SR-8646](https://bugs.swift.org/browse/SR-8646) [Package Manager] `BuildPlan.Error.missingLinuxMain` description rephrasing
+- [SR-8671](https://bugs.swift.org/browse/SR-8671) [Package Manager] `ARG_MAX` limit exceeded when compiles huge project
+
+### News and community
+
+Xcode 10 has been released, and alongside came Swift 4.2. [Ted Kremenek](https://twitter.com/tkremenek) wrote [a blog post](https://swift.org/blog/swift-4-2-released/) describing the changes in detail.
+
+[Ole Begemann](https://twitter.com/olebegemann) did us all another huge favor by means of a What's new in Swift 4.2 [Playground](https://oleb.net/blog/2018/06/whats-new-in-swift-4-2-playground/). You should definitely give this a try if you want a quick and interactive overview of the new features in Swift 4.2.
+
+On a related note, [Paul Hudson](https://twitter.com/twostraws) wrote about what's new [in Swift 5](https://www.hackingwithswift.com/articles/126/whats-new-in-swift-5-0). Besides ABI stability, there are some other interesting new improvements and features expected in that release. Swift 5 is expected to be released early 2019.
+
+### Commits and pull requests
+
+[Pavel Yaskevich](https://twitter.com/pyaskevich) merged [a pull request](https://github.com/apple/swift/pull/19203) making the constraint solver iterative rather than recursive, which should fix some stack overflow issues.
+
+[Joe Groff](https://twitter.com/jckarter) merged [a pull request](https://github.com/apple/swift/pull/19382) that finishes up the implementation of SE-0227 (see below). "Now we’re just waiting for tuple keypaths so we can have full parity between member access syntax and keypath syntax." 🎉
+
+### Accepted proposals
+
+[SE-0227](https://github.com/apple/swift-evolution/blob/master/proposals/0227-identity-keypath.md): *Identity key path* was [accepted](https://forums.swift.org/t/accepted-se-0227-identity-key-path/16278).
+
+> Feedback on the proposal was light but all positive, and the proposal was accepted without modifications.
+
+### Proposals in review
+
+[SE-0228](https://github.com/apple/swift-evolution/blob/master/proposals/0228-fix-expressiblebystringinterpolation.md): *Fix `ExpressibleByStringInterpolation`* is [under review](https://forums.swift.org/t/se-0228-fix-expressible-by-string-interpolation/16031).
+
+> String interpolation is a simple and powerful feature for expressing complex, runtime-created strings, but the current version of the `ExpressibleByStringInterpolation` protocol has been deprecated since Swift 3. We propose a new design which improves its performance, clarity, and efficiency.
+>
+> We see three general classes of types which might want to conform to `ExpressibleByStringInterpolation`:
+>
+> 1. Simple textual data
+> 2. Structured textual data
+> 3. Machine-readable code fragments
+>
+> The current design handles simple textual data, but struggles to support structured textual data and machine-readable code fragments.
+
+### Swift Forums
+
+[Ted Kremenek](https://twitter.com/tkremenek) shared [the next steps for the Swift Server work group](https://forums.swift.org/t/next-steps-for-the-swift-server-work-group/15816).
+
+> As announced at try! Swift New York City, the Swift Server work group is now entering a new chapter in its evolution. With the release of SwiftNIO and it’s subsequent adoption by popular Swift web frameworks, Kitura and Vapor, the group is now ready to take on new tasks. It’s time to focus on defining and creating a set of libraries and tools that are focused on developing and deploying server applications written in Swift.
+>
+> Read more about the new focus on the updated [Swift Server work group page](https://swift.org/server/).
+
+[Tomer Doron](https://github.com/tomerd) shared [new focus areas](https://forums.swift.org/t/server-work-group-new-focus-areas/15969) for the Swift Server work group.
+
+> [..] the work group came up with the following focus areas which we feel can make a real and immediate impact on the ecosystem. The list reflects what we previously heard from the community as well as our own personal experience writing server applications with Swift, and is designed to solve tangible needs that do not require new features from the language or core libraries.
+>
+> - Database Drivers and Storage Clients
+> - Tooling and Production Readiness
+> - Distributed Systems, Microservices and Event Driven Architecture
+
+[Xiaodi Wu](https://twitter.com/xwu) shared news [about a number of blog posts](https://forums.swift.org/t/notes-on-numerics-in-swift/15746) that go into detail of how numeric types work in Swift.
+
+> A great number of questions are raised in these forums as to the functioning and design of numeric types and protocols in Swift. Sometimes, the answer can be found only by digging through the source code, and even then it's hard to place what you learn there within a larger context. Therefore, I've compiled a series of articles that delve into these topics in more detail.
+
+You can find the blog posts [here](https://numerics.diploid.ca).
+
+[Joe Groff](https://twitter.com/jckarter) pitched [a proposal](https://forums.swift.org/t/allow-self-x-in-class-convenience-initializers/15924) to allow `self = x` in class convenience initializers.
+
+> In [this pull request](https://github.com/apple/swift/pull/19151), I'm changing code generation for class convenience initializers so that they only have "allocating" entry points, which are responsible for allocating and initializing the entire object. (See [Changing class convenience initializers to perform whole object allocation and `@objc` interop](https://forums.swift.org/t/changing-class-convenience-initializers-to-perform-whole-object-allocation-and-objc-interop/15676) for more background.) With this change, convenience initializers are nearly identical to value or protocol extension initializers at the implementation level, since the `self.init` delegation within a convenience initializer is effectively initializing the self _reference_ with a reference to the instance created by the `self.init` call rather than initializing the instance itself. At this point, it's not that big of a leap to allow the `self` reference to also be initialized by assignment, as it can be in value and protocol extension initializers, like this:
+
+{% highlight swift %}
+class Y {
+ required init() {}
+ static func singletonInstance() -> Self { return self.init() }
+ convenience init(pref: Y) {
+ self = type(of: self).singletonInstance()
+ }
+}
+{% endhighlight %}
+
+> This opens the door to convenience initializers being able to use static factory methods or other `Self`-returning operations to produce their returned result, not only the result of other initializers. Swift's own standard library and Foundation overlay hack around this missing functionality by making classes conform to dummy protocols and using protocol extension initializers where necessary to implement this functionality:
+
+{% highlight swift %}
+protocol P {
+ static func instance() -> Self
+}
+
+extension P {
+ init() {
+ self = Self.instance()
+ }
+}
+
+class C: P {
+ static func instance() -> Self { ... }
+
+ convenience init(x: ()) {
+ self.init()
+ }
+}
+{% endhighlight %}
+
+### Finally
+
+Swift can now even be found [in Apple Watch bands](https://twitter.com/jckarter/status/1040297140822523904). Who would've thought?!
From 675cc4cb69515f7ed2a35e4178b0e2587fea020b Mon Sep 17 00:00:00 2001
From: Bas Broek
Date: Fri, 21 Sep 2018 17:38:32 +0200
Subject: [PATCH 059/613] Initial 119 draft
---
_drafts/2018-10-04-issue-119.md | 56 +++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
create mode 100644 _drafts/2018-10-04-issue-119.md
diff --git a/_drafts/2018-10-04-issue-119.md b/_drafts/2018-10-04-issue-119.md
new file mode 100644
index 00000000..d5969c1f
--- /dev/null
+++ b/_drafts/2018-10-04-issue-119.md
@@ -0,0 +1,56 @@
+---
+layout: post
+title: ! 'Issue #119'
+author: btb
+sponsor:
+ link: https://do-ios.com/
+ heading: Do iOS conference in Amsterdam
+ body: On November 2 come join us for Do iOS. This is its third edition. Now fully owned and ran by the Dutch CocoaHeads Foundation. Come and join 130 fellow iOS developers for a day filled with content. Come and meet your fellow iOS developers.
There is also a University Day available on November 1.
More info and tickets on
+ displaylink: do-ios.com
+---
+
+> TODO: intro comments
+
+
+
+{% include sponsor.html %}
+
+### Starter tasks
+
+> TODO
+
+### Swift Unwrapped
+
+> TODO: Latest episode(s) of Swift Unwrapped
+
+### News and community
+
+> TODO
+
+### Commits and pull requests
+
+> TODO
+
+### Accepted proposals
+
+> TODO
+
+### Returned proposals
+
+> TODO
+
+### Rejected proposals
+
+> TODO
+
+### Proposals in review
+
+> TODO
+
+### Swift Forums
+
+> TODO
+
+### Finally
+
+> TODO: something funny/fun. tweet, link, etc.
From 344b008278b3f65b36414e0dc446b6b3e9dbe0da Mon Sep 17 00:00:00 2001
From: Jesse Squires
Date: Mon, 24 Sep 2018 11:47:31 -0700
Subject: [PATCH 060/613] Update header copy (#414)
I think this is more accurate now :)
---
_includes/header.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_includes/header.html b/_includes/header.html
index 57d05ed6..9954d460 100644
--- a/_includes/header.html
+++ b/_includes/header.html
@@ -5,7 +5,7 @@
A community-driven weekly newsletter about what's happening in the Swift open source projects at Swift.org.
- Curated by Jesse Squires and Bas Broek. Published for free every other Thursday.
+ Curated by Bas Broek. Started by Jesse Squires. Published for free every other Thursday.
Our mailing list is currently paused. We might resume emails in the future, so you can still subscribe if you'd like.
- Until then, you can follow us on Twitter.
- Thank you for your support!
-