cross compilation support (configurable destinations) #1098
Conversation
@swift-ci please smoke test |
@@ -57,6 +57,15 @@ public enum Result<Value, ErrorType: Swift.Error> { | |||
} | |||
} | |||
|
|||
public func flatMap<U>(_ transform: (Value) -> Result<U, ErrorType>) -> Result<U, ErrorType> { |
aciidb0mb3r
Apr 19, 2017
Member
This method needs doc comments and tests. Can you propose this as a separate change?
This method needs doc comments and tests. Can you propose this as a separate change?
aciidb0mb3r
Apr 19, 2017
Member
Separate PR would be nice but commit sounds fine too!
Separate PR would be nice but commit sounds fine too!
@@ -33,5 +33,7 @@ public class ToolOptions { | |||
/// Disables sandboxing when executing subprocesses. | |||
public var shouldDisableSandbox = false | |||
|
|||
public var destinationDescriptionPath: AbsolutePath? |
aciidb0mb3r
Apr 19, 2017
Member
Please add doc comments.
Please add doc comments.
weissi
Apr 19, 2017
Author
Member
done
done
@@ -149,6 +149,10 @@ public class SwiftTool<Options: ToolOptions> { | |||
option: parser.add(option: "--experimental-use-v4-manifest", kind: Bool.self), | |||
to: { _, on in Versioning.simulateVersionFour = on }) | |||
|
|||
binder.bind( | |||
option: parser.add(option: "--destination", kind: PathArgument.self), |
aciidb0mb3r
Apr 19, 2017
Member
Unless we want this to be hidden option, we should add help text.
Unless we want this to be hidden option, we should add help text.
weissi
Apr 19, 2017
Author
Member
I thought we'd add it as an experimental feature first but happy to add text. @aciidb0mb3r / @ddunbar any opinions?
I thought we'd add it as an experimental feature first but happy to add text. @aciidb0mb3r / @ddunbar any opinions?
aciidb0mb3r
Apr 19, 2017
Member
Ah, then no help text needed.
Ah, then no help text needed.
@@ -82,7 +69,7 @@ public struct UserToolchain: Toolchain, ManifestResourceProvider { | |||
} | |||
|
|||
// Look for llbuild in bin dir. | |||
llbuild = binDir.appending(component: "swift-build-tool") | |||
llbuild = lookup(fromEnv: "LLBUILD_EXEC") ?? binDir.appending(component: "swift-build-tool") |
aciidb0mb3r
Apr 19, 2017
Member
Is this needed for this patch?
Is this needed for this patch?
weissi
Apr 19, 2017
Author
Member
no, removed
no, removed
@@ -234,7 +234,7 @@ public final class ManifestLoader: ManifestLoaderProtocol { | |||
// and validates it. | |||
// Compute the path to runtime we need to load. | |||
let runtimePath = resources.libDir.appending(component: String(manifestVersion.rawValue)).asString | |||
let runtimePath = resources.libDir.asString |
aciidb0mb3r
Apr 19, 2017
Member
This shouldn't be changed.
This shouldn't be changed.
weissi
Apr 20, 2017
Author
Member
done
done
} | ||
} | ||
|
||
public struct Destination { |
aciidb0mb3r
Apr 19, 2017
Member
This looks like something which should be a part of toolchain and not each target and product.
This looks like something which should be a part of toolchain and not each target and product.
weissi
Apr 19, 2017
Author
Member
@aciidb0mb3r the problem is that Product
requires the shared library extension which is calculated from the Destination
. So I just wired the Destination
through everything. Prefer me to wire through the extension only or the UserToolchain
?
@aciidb0mb3r the problem is that Product
requires the shared library extension which is calculated from the Destination
. So I just wired the Destination
through everything. Prefer me to wire through the extension only or the UserToolchain
?
aciidb0mb3r
Apr 19, 2017
Member
Ah, for outname property? I think we should just lift that into the Build
module. Doing that should allow keeping the destination completely inside the toolchain.
Ah, for outname property? I think we should just lift that into the Build
module. Doing that should allow keeping the destination completely inside the toolchain.
weissi
Apr 20, 2017
Author
Member
done
done
|
||
public var extraCCFlags: [String] | ||
|
||
public var extraSwiftCFlags: [String] |
aciidb0mb3r
Apr 19, 2017
Member
We can use let, right?
We can use let, right?
weissi
Apr 19, 2017
Author
Member
yes, but it's a value type so changes only affect the very local variable. I'm happy to make it let
but don't think it makes much difference because it's a struct
. Let me know what you think.
yes, but it's a value type so changes only affect the very local variable. I'm happy to make it let
but don't think it makes much difference because it's a struct
. Let me know what you think.
aciidb0mb3r
Apr 19, 2017
Member
I think its better to start with let
unless you really need var
because it is part of the API. If something is let
, clients won't have a question "what happens if I change the value". It also helps in case you need to convert the struct to a class.
I think its better to start with let
unless you really need var
because it is part of the API. If something is let
, clients won't have a question "what happens if I change the value". It also helps in case you need to convert the struct to a class.
weissi
Apr 19, 2017
Author
Member
cool, changed.
cool, changed.
I think my major feedback is, moving the destination to be part of the |
thanks very much @aciidb0mb3r for your review. Will work on the bigger items tomorrow, fixed some smaller ones. |
889b7f6
to
455b06e
hey @aciidb0mb3r I now moved |
@aciidb0mb3r I also added a new property |
@@ -268,6 +268,8 @@ public final class PackageBuilder { | |||
} | |||
} | |||
|
|||
private let outputFileName: (String, PackageModel.ProductType) -> RelativePath |
aciidb0mb3r
Apr 20, 2017
Member
The package builder is the convention system that loads a package from disk, it doesn't need to care about the output file name. We should move the computation of output path/name into the class ProductBuildDescription
(It is inside BuildPlan.swift
file).
The package builder is the convention system that loads a package from disk, it doesn't need to care about the output file name. We should move the computation of output path/name into the class ProductBuildDescription
(It is inside BuildPlan.swift
file).
@@ -785,7 +789,8 @@ public final class PackageBuilder { | |||
sources: Sources(paths: swiftSources, root: potentialModule.path), | |||
dependencies: moduleDependencies, | |||
productDependencies: productDeps, | |||
swiftVersion: try swiftVersion()) | |||
swiftVersion: try swiftVersion() | |||
) |
aciidb0mb3r
Apr 20, 2017
Member
Please avoid the diffs that do not contribute any functionality.
Please avoid the diffs that do not contribute any functionality.
weissi
Apr 20, 2017
Author
Member
sorry about that, didn't spot those, removed.
sorry about that, didn't spot those, removed.
type: .systemModule, | ||
sources: sources, | ||
dependencies: [] | ||
) |
aciidb0mb3r
Apr 20, 2017
Member
These diffs are not required, right?
These diffs are not required, right?
weissi
Apr 20, 2017
Author
Member
sorry about that, didn't spot those, removed.
sorry about that, didn't spot those, removed.
@@ -41,6 +41,9 @@ public class Product { | |||
/// The name of the product. | |||
public let name: String | |||
|
|||
/// The output file name of the product. | |||
public let outname: RelativePath |
aciidb0mb3r
Apr 20, 2017
Member
As I commented above, we don't need to have the outname inside the target. It can be a build time thing.
As I commented above, we don't need to have the outname inside the target. It can be a build time thing.
binDir = AbsolutePath(CommandLine.arguments[0], relativeTo: currentWorkingDirectory).parentDirectory | ||
#endif | ||
toolchain = try! UserToolchain(binDir) | ||
toolchain = try! UserToolchain(destination: Destination.hostDestination()) |
aciidb0mb3r
Apr 20, 2017
Member
We do these special things here to run tests inside Xcode, please ensure the tests work inside Xcode too by generating a project using Utilities/bootstrap --generate-xcodeproj
We do these special things here to run tests inside Xcode, please ensure the tests work inside Xcode too by generating a project using Utilities/bootstrap --generate-xcodeproj
} | ||
} | ||
|
||
public struct Destination { |
aciidb0mb3r
Apr 20, 2017
Member
Please add a short description about this structure.
Please add a short description about this structure.
weissi
Apr 20, 2017
Author
Member
done
done
|
||
public let extraSwiftCFlags: [String] | ||
|
||
public let extraCPPFlags: [String] |
aciidb0mb3r
Apr 20, 2017
Member
Please add a doc comment for each property
Please add a doc comment for each property
weissi
Apr 20, 2017
Author
Member
done
done
let sdkPlatformFrameworksPath = AbsolutePath(platformPath).appending(components: "Developer", "Library", "Frameworks") | ||
|
||
let devDirPath = try Process.checkNonZeroExit(args: "xcode-select", "-p").chomp() | ||
let sysFWPath = AbsolutePath(sdkPath).appending(component: "System") |
aciidb0mb3r
Apr 20, 2017
Member
Please avoid abbreviated variable names. We try to follow Swift design guidelines https://swift.org/documentation/api-design-guidelines/
Please avoid abbreviated variable names. We try to follow Swift design guidelines https://swift.org/documentation/api-design-guidelines/
weissi
Apr 20, 2017
Author
Member
done
done
76572bc
to
65d4811
@swift-ci please smoke test |
@swift-ci please smoke test |
c0d307e
to
51c05a6
@swift-ci please smoke test |
1 similar comment
@swift-ci please smoke test |
@swift-ci please smoke test |
1 similar comment
@swift-ci please smoke test |
@swift-ci please smoke test |
1 similar comment
@swift-ci please smoke test |
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…
General
This adds experimental support for cross compilation or more precisely configurable destinations for binaries to SwiftPM. The basic idea is that you hand a JSON file in the format described below to SwiftPM (ie.
swift build --destination my-destination.json
). SwiftPM will then invoke theswiftc
/clang
with the appropriate arguments. The--destination
switch is optional and if omitted SwiftPM will use the destination as appropriate for the host OS as it previously did.destination.json
File FormatExample: compile for macOS on macOS
Example: compile for Ubuntu Linux on macOS (SDK required)
Some Words About Cross Compilation
To cross compile a binary, you will need a cross compilation toolchain which consists of the toolchain itself and an SDK. For example compiling an iPhone binary from your Mac will use
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk
or similar. If you want to compile a Swift binary for say Ubuntu Xenial on your Mac, you'll need the following pieces of softwareswiftc
andclang
are able to do that)libswiftCore
) for Ubuntu.deb
packages available from Ubuntu)In other words, all the pieces of software are available for free online, they just need to be assembled in the correct way. An example script to do that all for Ubuntu Xenial can be found in a separate PR.