-
Notifications
You must be signed in to change notification settings - Fork 1.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
cross compilation support (configurable destinations) #1098
Conversation
@swift-ci please smoke test |
Sources/Basic/Result.swift
Outdated
@@ -57,6 +57,15 @@ public enum Result<Value, ErrorType: Swift.Error> { | |||
} | |||
} | |||
|
|||
public func flatMap<U>(_ transform: (Value) -> Result<U, ErrorType>) -> Result<U, ErrorType> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This method needs doc comments and tests. Can you propose this as a separate change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done (it's a separate commit so far, @aciidb0mb3r want me to make a separate PR?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Separate PR would be nice but commit sounds fine too!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
here you go: #1100
Sources/Commands/Options.swift
Outdated
@@ -33,5 +33,7 @@ public class ToolOptions { | |||
/// Disables sandboxing when executing subprocesses. | |||
public var shouldDisableSandbox = false | |||
|
|||
public var destinationDescriptionPath: AbsolutePath? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add doc comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Sources/Commands/SwiftTool.swift
Outdated
@@ -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), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unless we want this to be hidden option, we should add help text.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought we'd add it as an experimental feature first but happy to add text. @aciidb0mb3r / @ddunbar any opinions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, then no help text needed.
Sources/Commands/UserToolchain.swift
Outdated
@@ -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") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this needed for this patch?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shouldn't be changed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
} | ||
} | ||
|
||
public struct Destination { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like something which should be a part of toolchain and not each target and product.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@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
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
|
||
public var extraCCFlags: [String] | ||
|
||
public var extraSwiftCFlags: [String] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can use let, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cool, changed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think my major feedback is, moving the destination to be part of the UserToolchain
and not have it per target and product. Also, please add some brief Swift doc comments where applicable.
f18c819
to
fe75f07
Compare
thanks very much @aciidb0mb3r for your review. Will work on the bigger items tomorrow, fixed some smaller ones. |
889b7f6
to
455b06e
Compare
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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() | |||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please avoid the diffs that do not contribute any functionality.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry about that, didn't spot those, removed.
Sources/PackageModel/Module.swift
Outdated
type: .systemModule, | ||
sources: sources, | ||
dependencies: [] | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These diffs are not required, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry about that, didn't spot those, removed.
Sources/PackageModel/Product.swift
Outdated
@@ -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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I commented above, we don't need to have the outname inside the target. It can be a build time thing.
Sources/TestSupport/Resources.swift
Outdated
binDir = AbsolutePath(CommandLine.arguments[0], relativeTo: currentWorkingDirectory).parentDirectory | ||
#endif | ||
toolchain = try! UserToolchain(binDir) | ||
toolchain = try! UserToolchain(destination: Destination.hostDestination()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
Sources/Build/Destination.swift
Outdated
} | ||
} | ||
|
||
public struct Destination { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a short description about this structure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Sources/Build/Destination.swift
Outdated
|
||
public let extraSwiftCFlags: [String] | ||
|
||
public let extraCPPFlags: [String] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a doc comment for each property
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Sources/Build/Destination.swift
Outdated
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") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please avoid abbreviated variable names. We try to follow Swift design guidelines https://swift.org/documentation/api-design-guidelines/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
76572bc
to
65d4811
Compare
65d4811
to
4218b22
Compare
@swift-ci please smoke test |
@swift-ci please smoke test |
c0d307e
to
51c05a6
Compare
@swift-ci please smoke test |
1 similar comment
@swift-ci please smoke test |
51c05a6
to
a45aa0e
Compare
@swift-ci please smoke test |
1 similar comment
@swift-ci please smoke test |
a45aa0e
to
23c1611
Compare
@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…
If you happened, like me, to find this because you search a way to cross compile for x86_64 and arm using the swift compiler. There is now (3-4 years later) a much easier solution. Unfortunately, it is not documented by echo "🏗 Building the ARM version"
swift build --configuration release \
--arch arm64
echo "🏗 Building the x86_64 version"
swift build --configuration release \
--arch x86_64 I hope it helps |
You can at least do it in a single invocation https://www.smileykeith.com/2020/12/24/swiftpm-cross-compile/ |
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 ✅ (that's part of the Swift distribution 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.