-
Notifications
You must be signed in to change notification settings - Fork 10.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP [ConstraintSystem] Ability to treat key path literal syntax as function type (Root) -> Value. #19448
Conversation
@swift-ci Please smoke test. |
I would rather we didn't add any more implicit conversions, and instead looked into generalizing the literal syntax to work in function contexts. |
Can you go into why that would be preferable? Are there other types that would conform to And you'd be removing conveniences for non-literals like
... which granted, by itself is not terribly compelling, but it seems an odd thing to want to limit. |
Implicit conversions impact the entire type system, and we've set up an expectation that they hold for dynamic casts too, complicating the runtime implementation as well. Key paths and functions also currently have non-overlapping capabilities; key paths have to refer to specific declarations and subscripts/methods with hashable arguments in order to provide equality, but functions generally don't need to be equatable, so literal references in function context could be less constrained. As for whether other things could be ExpressibleByKeyPathLiteral, that doesn't seem completely out of the question. For the general case of non-literal key paths, it doesn't seem terribly onerous to put a |
I find the runtime expectation argument fairly convincing. How about a compromise: I think that removing the |
…ype and can be either a KeyPath(R,V) or (R)->V.
Latest commit is what it would look like with Results in:
|
I think the distinction here is too fine. This would totally confuse people. It confuses me. |
Not that it's an argument for or against, but this is the same situation you get with other literals:
|
Eh, it's not really the same. I can make that work by changing the |
@gregomni Thanks for prototyping this! If we were going to go in this direction for real, I think it'd be better to handle this earlier in the pipeline. Whereas, for key path literals that become |
@davedelong To me, it makes sense to eventually turn this into a new literal type with an |
…eeds to refer to the beginning of the closure in `\.foo as (A) -> B`. Removed explicit noescape from function type so `let a: (A) -> B = \.foo` is valid. Remove optimization that optional path is always read-only KP type in CSGen, since it can also now be of function type.
@davedelong You can explicitly specify the type, just like in the
|
@jckarter I think that making the key path syntax sometimes have different semantics from key path application is asking for trouble, both coder expectation-wise, and also compiler maintenance-wise down the road. I can see how it'd be appealing to do as you suggest, but I think it'd be much better to implement support for methods and non-hashable subscripts in key path application instead. |
The constraints on literals in |
I'm hesitant about premature generalization. It feels to me like we have a nominal form and a functional form of lensing (and so maybe the next step is also allowing |
@jckarter A stumbling block I see with this is that we don't have a nominal type to give to typealias KeyPathLiteralType<T, U> = (T) -> U
typealias KeyPathLiteralType<T, U> = KeyPath<T, U> |
Yeah, that's what I had in mind. At the time we implemented user-defined literals, we didn't have generic typealiases, so |
@swift-ci please smoke test |
Hi @gregomni could you rebase your PR? Then we could produce a toolchain for people to try out as part of the review. |
@airspeedswift @gregomni I actually just finished squashing, rebasing, and fixing a bug in this PR in #23435. I'm running smoke tests on it now; I'll see if I can get source compatibility and compiler performance tests next. |
Building an anonymous closure that just applies the key path components is, unfortunately, the wrong semantics for this; to be consistent with the normal semantics for key path evaluation, you need any subscript indices to be evaluated and captured at the time of creating the function. |
Closing in favor of #23435 |
diff --git a/01631c29.md b/01631c29.md index 9eb43fc..92adfb7 100644 --- a/01631c29.md +++ b/01631c29.md @@ -9,13 +9,13 @@ permalink: /episodes/01631c29/ * String Manifesto: https://github.com/apple/swift/blob/master/docs/StringManifesto.md * Chris Lattner on Swift 4 goals including String re-evaluation: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160725/025676.html * Ole Begemann: - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Why String.CharacterView is not a MutableCollection: https://oleb.net/blog/2017/02/why-is-string-characterview-not-a-mutablecollection/ - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts One for the Unicode Nerds: https://oleb.net/blog/2014/06/one-for-the-unicode-nerds/ + * Why String.CharacterView is not a MutableCollection: https://oleb.net/blog/2017/02/why-is-string-characterview-not-a-mutablecollection/ + * One for the Unicode Nerds: https://oleb.net/blog/2014/06/one-for-the-unicode-nerds/ * Objc.io article on unicode: https://www.objc.io/issues/9-strings/unicode/ * Unsafe API proposal: https://github.com/apple/swift/pull/7479 * SipHash: - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/blob/master/stdlib/public/core/SipHash.swift.gyb - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/pull/4621 + * https://github.com/apple/swift/blob/master/stdlib/public/core/SipHash.swift.gyb + * https://github.com/apple/swift/pull/4621 ### Thank You diff --git a/083dd5d3.md b/083dd5d3.md index ddaae16..abd2d6a 100644 --- a/083dd5d3.md +++ b/083dd5d3.md @@ -19,19 +19,19 @@ In this episode, we cover: --- * Dollar Sign - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift-evolution/blob/master/proposals/0144-allow-single-dollar-sign-as-valid-identifier.md + * https://github.com/apple/swift-evolution/blob/master/proposals/0144-allow-single-dollar-sign-as-valid-identifier.md * Swift Weekly - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Issue 39, https://swiftweekly.github.io/issue-39/ - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Slava Pestov changed variadic closure arguments to be @escaping by default, which is technically a source breaking change, but only for invalid code. - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Issue 42, https://swiftweekly.github.io/issue-42/ - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Robert Widmann merged changes to reject standalone $ as identifiers, which were accidentally accepted as valid. - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Issue 43, https://swiftweekly.github.io/issue-43/ - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Rintaro Ishizaki has submitted a pull request to fix SR-2843. In type parsing, P1 & P2.Type (new protocol syntax) was incorrect. - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts DougGregor fixed an unintentional source-breaking change from Swift 3 regarding implicitly-unwrapped optionals and type inference. + * Issue 39, https://swiftweekly.github.io/issue-39/ + * Slava Pestov changed variadic closure arguments to be @escaping by default, which is technically a source breaking change, but only for invalid code. + * Issue 42, https://swiftweekly.github.io/issue-42/ + * Robert Widmann merged changes to reject standalone $ as identifiers, which were accidentally accepted as valid. + * Issue 43, https://swiftweekly.github.io/issue-43/ + * Rintaro Ishizaki has submitted a pull request to fix SR-2843. In type parsing, P1 & P2.Type (new protocol syntax) was incorrect. + * DougGregor fixed an unintentional source-breaking change from Swift 3 regarding implicitly-unwrapped optionals and type inference. * Minor source breaking change for sugared types: https://github.com/apple/swift/commit/4ebac86895383ad15e34de3671c6f423e96cfc98 * Running the entire test suite with version 3 or 4: https://github.com/apple/swift/commit/1fcd7d725d1c23a27d4ea31e34e20f182e0b8c37 * Ignored Labels for single-"Any"-argument functions - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/commit/30c4235193b64050f8110ef5598c7efb4501e0da + * https://github.com/apple/swift/commit/30c4235193b64050f8110ef5598c7efb4501e0da * Xcode 8.2 last release for Swift 2.3! --- diff --git a/107053e7.md b/107053e7.md index 8ba1e0e..01b3252 100644 --- a/107053e7.md +++ b/107053e7.md @@ -9,12 +9,12 @@ permalink: /episodes/107053e7/ - Server APIs Project: https://swift.org/server-apis/ - Server APIs Working Group: https://swift.org/blog/server-api-workgroup/ - HTTP 0.1.0: - - - - https://github.com/swift-server/http/releases/tag/0.1.0 - - Docs: https://swift-server.github.io/http/ + - + - https://github.com/swift-server/http/releases/tag/0.1.0 + - Docs: https://swift-server.github.io/http/ - Namespacing discussion: - - https://lists.swift.org/pipermail/swift-server-dev/Week-of-Mon-20170522/000466.html - - https://github.com/swift-server/http/pull/7 + - https://lists.swift.org/pipermail/swift-server-dev/Week-of-Mon-20170522/000466.html + - https://github.com/swift-server/http/pull/7 - Can file issues on the repo, no JIRA - Dedicated GitHub org: https://github.com/swift-server - Which web framework is the fastest? https://github.com/swift-server/which_is_the_fastest diff --git a/115f3199.md b/115f3199.md index 52369ce..6265ef9 100644 --- a/115f3199.md +++ b/115f3199.md @@ -11,18 +11,18 @@ There's been a much stronger focus on calling ObjC from Swift than the other way ### ObjC Interop Overview - Nikita Lutsenko's talk: https://realm.io/news/altconf-nikita-lutsenko-objc-swift-interoperability/ - - NS_SWIFT_NAME - - NS_SWIFT_UNAVAILABLE - - NS_REFINED_FOR_SWIFT - - NS_SWIFT_NOTHROW - - NS_NOESCAPE - - NSEXTENSIBLESTRING_ENUM - - Nullability Annotations - - Generic Annotations + - NS_SWIFT_NAME + - NS_SWIFT_UNAVAILABLE + - NS_REFINED_FOR_SWIFT + - NS_SWIFT_NOTHROW + - NS_NOESCAPE + - NSEXTENSIBLESTRING_ENUM + - Nullability Annotations + - Generic Annotations - ClangImporter (omit needless words logic lives here) - PrintAsObjC - - Kevin Ballard's PR to include unavailable/deprecated/availability attributes: https://github.com/apple/swift/pull/6480 - - ObjC codegen via string manipulation. Very hackable. + - Kevin Ballard's PR to include unavailable/deprecated/availability attributes: https://github.com/apple/swift/pull/6480 + - ObjC codegen via string manipulation. Very hackable. ### Proposals on ObjC Interop diff --git a/1ff40107.md b/1ff40107.md index 30094e3..7f73735 100644 --- a/1ff40107.md +++ b/1ff40107.md @@ -9,8 +9,8 @@ permalink: /episodes/1ff40107/ # SE-0166: Swift Archival & Serialization - NSCoding: - - https://developer.apple.com/reference/foundation/nscoding - - http://nshipster.com/nscoding/ + - https://developer.apple.com/reference/foundation/nscoding + - http://nshipster.com/nscoding/ - Swift Archival & Serialization: https://github.com/apple/swift-evolution/blob/master/proposals/0166-swift-archival-serialization.md - ABI Stability Dashboard: https://swift.org/abi-stability/ @@ -19,12 +19,12 @@ permalink: /episodes/1ff40107/ - https://github.com/apple/swift-evolution/blob/master/proposals/0167-swift-encoders.md - Semantics of Codable Types in Archives - NSValueTransformer - - https://developer.apple.com/reference/foundation/nsvaluetransformer - - http://nshipster.com/nsvaluetransformer/ + - https://developer.apple.com/reference/foundation/nsvaluetransformer + - http://nshipster.com/nsvaluetransformer/ - "In the future, we may add API to allow Swift types to provide an Objective-C class to decode as, effectively allowing for user bridging across archival." - Similar to Russ Bishop’s proposal - - Allow Swift types to provide custom Objective-C representations - - https://github.com/apple/swift-evolution/blob/master/proposals/0058-objectivecbridgeable.md + - Allow Swift types to provide custom Objective-C representations + - https://github.com/apple/swift-evolution/blob/master/proposals/0058-objectivecbridgeable.md ### Thank You diff --git a/22a6c652.md b/22a6c652.md index f9f8e93..6001af5 100644 --- a/22a6c652.md +++ b/22a6c652.md @@ -8,9 +8,9 @@ permalink: /episodes/22a6c652/ - Enable core dumps: `ulimit -c unlimited` - Mutating functions require exclusive access: - - https://twitter.com/simjp/status/928714602937905153 - - "Calling a mutating method on a value type is a write access that lasts for the duration of the method." - - https://github.com/apple/swift-evolution/blob/master/proposals/0176-enforce-exclusive-access-to-memory.md#proposed-solution + - https://twitter.com/simjp/status/928714602937905153 + - "Calling a mutating method on a value type is a write access that lasts for the duration of the method." + - https://github.com/apple/swift-evolution/blob/master/proposals/0176-enforce-exclusive-access-to-memory.md#proposed-solution - TSan with SwiftPM: https://twitter.com/simjp/status/929140877540278272 - Running TSan on CI: https://github.com/realm/SwiftLint/pull/1944 - WIP Adding first-party support for tsan to SwiftPM: https://github.com/apple/swift-package-manager/pull/1390 diff --git a/259160c9.md b/259160c9.md index ffcf9cc..865f514 100644 --- a/259160c9.md +++ b/259160c9.md @@ -9,8 +9,8 @@ permalink: /episodes/259160c9/ - Moving to Discourse, email from Ted: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170206/031657.html - Nate Cook's Discourse experiment: http://discourse.natecook.com/ - Slava tweets: - - https://twitter.com/slava_pestov/status/854490613575700480 - - https://twitter.com/slava_pestov/status/857382737669271552 + - https://twitter.com/slava_pestov/status/854490613575700480 + - https://twitter.com/slava_pestov/status/857382737669271552 ### Thank You diff --git a/2b098627.md b/2b098627.md index dfb54c9..a7f3a6a 100644 --- a/2b098627.md +++ b/2b098627.md @@ -11,9 +11,9 @@ permalink: /episodes/2b098627/ * Key Path Expressions as Functions: https://forums.swift.org/t/key-path-expressions-as-functions/19587 * Implementation: https://github.com/apple/swift/pull/19448 * Previous discussion threads: - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://forums.swift.org/t/allow-key-path-literal-syntax-in-expressions-expecting-function-type/16453 - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://forums.swift.org/t/key-path-getter-promotion/11185 - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://forums.swift.org/t/pitch-keypath-based-map-flatmap-filter/6266 + * https://forums.swift.org/t/allow-key-path-literal-syntax-in-expressions-expecting-function-type/16453 + * https://forums.swift.org/t/key-path-getter-promotion/11185 + * https://forums.swift.org/t/pitch-keypath-based-map-flatmap-filter/6266 * Original "Smart Key Path" proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0161-key-paths.md * Kuery: https://github.com/kishikawakatsumi/Kuery diff --git a/2b182911.md b/2b182911.md index e398318..5eea090 100644 --- a/2b182911.md +++ b/2b182911.md @@ -10,7 +10,7 @@ permalink: /episodes/2b182911/ * Official Swift 3.1 release post: https://swift.org/blog/swift-3-1-released/ * Swift 3.1 was first available on Swift for iPad, not macOS 🙀 - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://twitter.com/stroughtonsmith/status/844451069228994560 + * https://twitter.com/stroughtonsmith/status/844451069228994560 * Anna Zaks, program analysis at Apple: https://twitter.com/zaks_anna * Visual Debugging with Xcode WWDC 2016: https://developer.apple.com/videos/play/wwdc2016/410/ * ASAN: https://en.wikipedia.org/wiki/AddressSanitizer diff --git a/3fdcca35.md b/3fdcca35.md index f23f57c..7852ff3 100644 --- a/3fdcca35.md +++ b/3fdcca35.md @@ -8,9 +8,9 @@ permalink: /episodes/3fdcca35/ * [Proposal SE-0258](https://github.com/apple/swift-evolution/blob/master/proposals/0258-property-wrappers.md) * Review threads: - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [First review](https://forums.swift.org/t/se-0258-property-delegates/23139) - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [Second review](https://forums.swift.org/t/se-0258-property-wrappers-second-review/25843) - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [Third review](https://forums.swift.org/t/se-0258-property-wrappers-third-review/26399) + * [First review](https://forums.swift.org/t/se-0258-property-delegates/23139) + * [Second review](https://forums.swift.org/t/se-0258-property-wrappers-second-review/25843) + * [Third review](https://forums.swift.org/t/se-0258-property-wrappers-third-review/26399) * Blog post by [Vincent Padreilles](https://twitter.com/v_pradeilles) on [using property wrappers](https://gist.github.com/vincent-pradeilles/875c9dd165542912f3803f8e01b3e15e) * Blog post by [John Sundell](https://twitter.com/johnsundell) on [The Swift 5.1 features that power SwiftUI’s API](https://www.swiftbysundell.com/posts/the-swift-51-features-that-power-swiftuis-api#property-wrappers) * [Originally pitched in the Swift forums as "Property Behaviors" in 2015-2016](https://github.com/apple/swift-evolution/blob/master/proposals/0030-property-behavior-decls.md) diff --git a/451cc858.md b/451cc858.md index a4170a1..24dffdf 100644 --- a/451cc858.md +++ b/451cc858.md @@ -10,5 +10,5 @@ permalink: /episodes/451cc858/ - Why the Swift Server Working Group's http library doesn't have an Xcode project: https://mobile.twitter.com/daniel_dunbar/status/923691076635914240 - SE-0186 Removing ownership keywords in protocols: https://github.com/apple/swift-evolution/blob/master/proposals/0186-remove-ownership-keyword-support-in-protocols.md - Either/Result type - - https://github.com/apple/swift-evolution/pull/757 - - https://twitter.com/slava_pestov/status/925133908835835904 + - https://github.com/apple/swift-evolution/pull/757 + - https://twitter.com/slava_pestov/status/925133908835835904 diff --git a/4e7ad642.md b/4e7ad642.md index 3bea7c9..74419d1 100644 --- a/4e7ad642.md +++ b/4e7ad642.md @@ -11,7 +11,7 @@ permalink: /episodes/4e7ad642/ * First came the private/fileprivate change (SE-0025): https://github.com/apple/swift-evolution/blob/master/proposals/0025-scoped-access-level.md * Then came open (SE-0117): https://github.com/apple/swift-evolution/blob/master/proposals/0117-non-public-subclassable-by-default.md * For the last few weeks, a faction in the community has been proposing undoing it (SE-0159): https://github.com/apple/swift-evolution/blob/master/proposals/0159-fix-private-access-levels.md - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Wow. Such email. Very list. https://twitter.com/swiftlybrief/status/846938309666492417 + * Wow. Such email. Very list. https://twitter.com/swiftlybrief/status/846938309666492417 * Rejection email: https://lists.swift.org/pipermail/swift-evolution-announce/2017-April/000337.html * Doug Gregor opens discussion for expanding private: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170403/034903.html * David Hart, with a new proposal from Doug’s suggestions: https://github.com/apple/swift-evolution/pull/668 @@ -21,7 +21,7 @@ permalink: /episodes/4e7ad642/ * Features shouldn't be designed and deliberated in isolation. Decisions need to be holistic and forward-thinking. It's the project management equivalent of ABI resilience. "Design Resilience". * Robert Widmann's draft modules proposal: https://gist.github.com/CodaFi/cd66b7d70b5cd8e4e8b433fa2ace378a - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts fileprivate access can be recreated by creating a private "utility submodule" containing declarations of at least internal access. + * fileprivate access can be recreated by creating a private "utility submodule" containing declarations of at least internal access. ###Thank You diff --git a/620464c0.md b/620464c0.md index 8050eec..d5042bd 100644 --- a/620464c0.md +++ b/620464c0.md @@ -7,11 +7,11 @@ permalink: /episodes/620464c0/ # 40: Dynamic Member Lookup Proposal - Introduce User-defined "Dynamic Member Lookup" Types: - - First version: https://github.com/apple/swift-evolution/pull/768 - - Second version: https://github.com/apple/swift-evolution/pull/774 + - First version: https://github.com/apple/swift-evolution/pull/768 + - Second version: https://github.com/apple/swift-evolution/pull/774 - Implementations: - - First version: https://github.com/apple/swift/pull/13076 - - Second version: https://github.com/apple/swift/pull/13361 + - First version: https://github.com/apple/swift/pull/13076 + - Second version: https://github.com/apple/swift/pull/13361 - Related "dynamic callable" proposal (gist in progress): https://gist.github.com/lattner/a6257f425f55fe39fd6ac7a2354d693d - Chris’s email to Swift Evolution: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20171113/041463.html diff --git a/6d5d06fc.md b/6d5d06fc.md index 7ef3e2f..08ba695 100644 --- a/6d5d06fc.md +++ b/6d5d06fc.md @@ -10,9 +10,9 @@ permalink: /episodes/6d5d06fc/ * TL;DR: https://gist.github.com/Gankro/1f79fbf2a9776302a9d4c8c0097cc40e * Graydon Hoare, Swift team member, creator of Rust: https://en.wikipedia.org/wiki/Rust_(programming_language) * Some work has already landed to enforce exclusivity in Swift 4: - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/pull/9373 - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/pull/9198 - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/pull/9112 + * https://github.com/apple/swift/pull/9373 + * https://github.com/apple/swift/pull/9198 + * https://github.com/apple/swift/pull/9112 ### Thank You @@ -21,4 +21,4 @@ Thanks to this episode's sponsor, [BuddyBuild][1]: a continuous integration, con Try it free today at https://www.buddybuild.com/. - [1]: https://www.buddybuild.com/ + [1]: https://www.buddybuild.com/ diff --git a/6d603539.md b/6d603539.md index 89e2d7a..cb487b8 100644 --- a/6d603539.md +++ b/6d603539.md @@ -15,7 +15,7 @@ permalink: /episodes/6d603539/ ## 🙏 Thanks to today's sponsor: [Square](https://www.youtube.com/squaredev) -Check out the tutorial for Square’s In-App Payments SDK for iOS on their new developer YouTube channel: [youtube.com/squaredev](https://www.youtube.com/squaredev) +Check out the tutorial for Square’s In-App Payments SDK for iOS on their new developer YouTube channel: [youtube.com/squaredev](https://www.youtube.com/squaredev) ## 👋 Get in Touch diff --git a/6eeb2070.md b/6eeb2070.md index f76ca37..c62688b 100644 --- a/6eeb2070.md +++ b/6eeb2070.md @@ -7,13 +7,13 @@ permalink: /episodes/6eeb2070/ # 13: WWDC Predictions - SwiftPM iOS - - SwiftPM Cross-Compilation: https://github.com/apple/swift-package-manager/pull/1098 + - SwiftPM Cross-Compilation: https://github.com/apple/swift-package-manager/pull/1098 - SwiftPM Xcode - - Better SwiftPM/Xcode integration: https://twitter.com/SmileyKeith/status/862444840008548352 - - Potential Package.swift support in Xcode + - Better SwiftPM/Xcode integration: https://twitter.com/SmileyKeith/status/862444840008548352 + - Potential Package.swift support in Xcode - Swift Refactoring in Xcode - - References to "Rename" actions in SourceKit from Xcode 8.3 https://twitter.com/simjp/status/848288462952316928 - - Swift Syntax Structured Editing Library: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20170206/004066.html + - References to "Rename" actions in SourceKit from Xcode 8.3 https://twitter.com/simjp/status/848288462952316928 + - Swift Syntax Structured Editing Library: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20170206/004066.html - Improvements to Swift Playgrounds on iPad - Likely improvements to Xcode Source Extensions (refactoring extensions?) - We’re in a quiet period leading up to WWDC diff --git a/77984302.md b/77984302.md index f881626..ca4d25a 100644 --- a/77984302.md +++ b/77984302.md @@ -9,10 +9,10 @@ permalink: /episodes/77984302/ - Testing Swift: https://github.com/apple/swift/blob/master/docs/Testing.rst - Lit: LLVM Integrated Tester: http://llvm.org/docs/CommandGuide/lit.html - SwiftCI: - - https://ci.swift.org - - Announcement: https://swift.org/blog/swift-ci/ - - Overview: https://swift.org/continuous-integration/ - - Docs: https://github.com/apple/swift/blob/master/docs/ContinuousIntegration.md + - https://ci.swift.org + - Announcement: https://swift.org/blog/swift-ci/ + - Overview: https://swift.org/continuous-integration/ + - Docs: https://github.com/apple/swift/blob/master/docs/ContinuousIntegration.md - Source Compatibility: https://github.com/apple/swift-source-compat-suite - Smoke Testing - Validation Testing diff --git a/791e3bc9.md b/791e3bc9.md index 5f8799b..0a4d0ac 100644 --- a/791e3bc9.md +++ b/791e3bc9.md @@ -8,7 +8,7 @@ permalink: /episodes/791e3bc9/ - https://swift.org/migration-guide-swift4/ - Using two Swift Package Manager manifest files: - - https://github.com/realm/SwiftLint/blob/0.23.0/Package.swift - - https://github.com/realm/SwiftLint/blob/0.23.0/Package%40swift-4.swift + - https://github.com/realm/SwiftLint/blob/0.23.0/Package.swift + - https://github.com/realm/SwiftLint/blob/0.23.0/Package%40swift-4.swift Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped diff --git a/8279a6e2.md b/8279a6e2.md index 7b3c6db..b0d17dd 100644 --- a/8279a6e2.md +++ b/8279a6e2.md @@ -13,14 +13,14 @@ We wrap up with an overview of method dispatch in Swift. ### SourceKit on Linux - Swift core team is fixing compiler crashers faster than they're filed! - - [Slava Pestov](https://twitter.com/slava_pestov) being a driving force behind many of these fixes. - - [@practicalswift](https://twitter.com/practicalswift) is basically Swift compiler fuzzing as-a-service ;) - - [Undoing all of @practicalswift's hard work](https://twitter.com/slava_pestov/status/825549445605437440) + - [Slava Pestov](https://twitter.com/slava_pestov) being a driving force behind many of these fixes. + - [@practicalswift](https://twitter.com/practicalswift) is basically Swift compiler fuzzing as-a-service ;) + - [Undoing all of @practicalswift's hard work](https://twitter.com/slava_pestov/status/825549445605437440) - [SourceKit home page](https://github.com/apple/swift/tree/master/tools/SourceKit) - [Process Isolation](https://github.com/apple/swift/blob/swift-3.0.2-RELEASE/tools/SourceKit/README.txt#L15-L17) - Key contributors to SourceKit: - - [Brian Croom](https://twitter.com/aikoniv) and his many [SourceKit PRs](https://github.com/apple/swift/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Abriancroom%20sourcekit%20is%3Aclosed%20) to help get it linking and compiling on Linux. - - [Alex Blewitt](https://twitter.com/alblue) and [his numerous attempts](https://github.com/apple/swift/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aalblue%20sourcekit) at getting SourceKit compiling _by default_ on Linux. + - [Brian Croom](https://twitter.com/aikoniv) and his many [SourceKit PRs](https://github.com/apple/swift/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Abriancroom%20sourcekit%20is%3Aclosed%20) to help get it linking and compiling on Linux. + - [Alex Blewitt](https://twitter.com/alblue) and [his numerous attempts](https://github.com/apple/swift/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aalblue%20sourcekit) at getting SourceKit compiling _by default_ on Linux. - [SR-1676: Build SourceKit on Linux](https://bugs.swift.org/browse/SR-1676) - [CMake homepage](https://cmake.org/) - [swift-corelibs-libdispatch](https://github.com/apple/swift-corelibs-libdispatch) diff --git a/8ce32daf.md b/8ce32daf.md index 0d2fce0..972821a 100644 --- a/8ce32daf.md +++ b/8ce32daf.md @@ -7,8 +7,8 @@ permalink: /episodes/8ce32daf/ # 35: Performance Profiling on Linux - JP's FrenchKit talk on "Performance Profiling Swift on Linux": - - Video: https://youtu.be/TWeLLTFjqXg - - Slides: https://speakerdeck.com/jpsim/performance-profiling-swift-on-linux + - Video: https://youtu.be/TWeLLTFjqXg + - Slides: https://speakerdeck.com/jpsim/performance-profiling-swift-on-linux - [Perf](http://www.brendangregg.com/perf.html) - [Valgrind](http://valgrind.org/) - [Callgrind](http://valgrind.org/docs/manual/cl-manual.html) diff --git a/983844da.md b/983844da.md index 58d2e4a..e513ca8 100644 --- a/983844da.md +++ b/983844da.md @@ -8,8 +8,8 @@ permalink: /episodes/983844da/ * Magic file names: https://github.com/apple/swift-evolution/blob/master/proposals/0274-magic-file.md * Multi-pattern catch clauses - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift-evolution/blob/master/proposals/0276-multi-pattern-catch-clauses.md - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://forums.swift.org/t/se-0276-multi-pattern-catch-clauses/32620 + * https://github.com/apple/swift-evolution/blob/master/proposals/0276-multi-pattern-catch-clauses.md + * https://forums.swift.org/t/se-0276-multi-pattern-catch-clauses/32620 * Road to Swift 6: https://forums.swift.org/t/on-the-road-to-swift-6/32862 ## 👋 Get in Touch diff --git a/9d6eaee7.md b/9d6eaee7.md index bd27e9f..46afcf6 100644 --- a/9d6eaee7.md +++ b/9d6eaee7.md @@ -10,8 +10,8 @@ permalink: /episodes/9d6eaee7/ * Clang-based refactoring engine: http://lists.llvm.org/pipermail/cfe-dev/2017-June/054286.html * Adding indexing support to Clangd: http://lists.llvm.org/pipermail/cfe-dev/2017-May/053869.html * Small PR demonstrating implementing a refactoring action to simplify long number literal format: - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/pull/11711 - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts SR-5746: https://bugs.swift.org/browse/SR-5746 + * https://github.com/apple/swift/pull/11711 + * SR-5746: https://bugs.swift.org/browse/SR-5746 * All Swift refactoring actions are defined in https://github.com/apple/swift/blob/master/include/swift/IDE/RefactoringKinds.def * Ideas for potential refactoring transformations: https://bugs.swift.org/issues/?jql=labels%3DStarterProposal%20AND%20labels%3DRefactoring%20AND%20resolution%3DUnresolved diff --git a/c81902b1.md b/c81902b1.md index 06f686b..2f33585 100644 --- a/c81902b1.md +++ b/c81902b1.md @@ -12,8 +12,8 @@ permalink: /episodes/c81902b1/ * [Swift Evolution PR \#994](https://github.com/apple/swift-evolution/pull/994) * [swift-format implementation](https://github.com/google/swift/tree/format) * Community Tools - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [SwiftLint](https://github.com/realm/SwiftLint) - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) + * [SwiftLint](https://github.com/realm/SwiftLint) + * [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) ## Thanks to this episode's Sponsors diff --git a/de7f2c8e.md b/de7f2c8e.md index 0481b89..9486abe 100644 --- a/de7f2c8e.md +++ b/de7f2c8e.md @@ -12,9 +12,9 @@ So, we decided to make a podcast about the Swift language and a commentary on th If you want to connect with us you can find us and reach out on twitter: [JP Simard][2] & [Jesse Squires][3] -Be sure to subscribe so you don't miss episode 01 - airing on Monday, March 6th and be sure to check out some of the other development shows that are a part of the [Spec Network][4]. +Be sure to subscribe so you don't miss episode 01 - airing on Monday, March 6th and be sure to check out some of the other development shows that are a part of the [Spec Network][4]. - [1]: https://swiftweekly.github.io/ - [2]: https://twitter.com/simjp - [3]: https://twitter.com/jesse_squires - [4]: https://spec.fm/ + [1]: https://swiftweekly.github.io/ + [2]: https://twitter.com/simjp + [3]: https://twitter.com/jesse_squires + [4]: https://spec.fm/ diff --git a/e3bbe72b.md b/e3bbe72b.md index 4dd384b..a2dacd0 100644 --- a/e3bbe72b.md +++ b/e3bbe72b.md @@ -9,8 +9,8 @@ permalink: /episodes/e3bbe72b/ ## Relevant Links * [SE-0255: Implicit returns from single-expression functions](https://github.com/apple/swift-evolution/blob/master/proposals/0255-omit-return.md) - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [Tweet from Ben Cohen](https://twitter.com/AirspeedSwift/status/1108902065634328581) - 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [Swift Foru…
A WIP because I haven't added tests yet. Allows coercion from KeyPath to function type in any context that expects a
(Root) -> Value
function type, and allows for the constraint system to figure out the desired KeyPath type from the function type for incomplete key types (e.g. constructions like\.foo
where the root is unspecified).Just creates an implicit auto closure to perform the key path application
expr
to{ $0[keyPath: expr] }
. Generated SIL is identical except for the closure name.This is the potential feature as discussed in quite a few sorting/mapping threads on evolution, and most specifically here: https://forums.swift.org/t/key-path-getter-promotion/11185/4