This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
DougGregor/swift-concurrency-objc 10
Swift Concurrency Translation of Objective-C APIs for iOS, macOS, tvOS, and watchOS
The Swift Programming Language
The Swift Programming Language
Mirror of official clang git repository located at http://llvm.org/git/clang. Updated every five minutes.
DougGregor/swift-corelibs-libdispatch 0
The libdispatch Project, (a.k.a. Grand Central Dispatch), for concurrency on multicore hardware
DougGregor/swift-corelibs-xctest 0
The XCTest Project, A Swift core library for providing unit test support
pull request commentapple/swift
SIL: let SingleValueInstruction only inherit from a single SILNode.
@atrick the size of SingleValueInstruction is still 10 words (2 for the inst-list node, 1 for the parent, 3 for ValueBase and 4 for the debug location). Though, I believe we could get the debug location down to 3 words, or even less.
comment created time in an hour
pull request commentapple/swift
SIL: let SingleValueInstruction only inherit from a single SILNode.
@swift-ci smoke test
comment created time in 2 hours
pull request commentapple/swift
[ClangImporter] Adopt change for preprocessor option, `DisablePCHValidation`
https://github.com/apple/llvm-project/pull/2370
@swift-ci smoke test OS X platform
comment created time in 2 hours
pull request commentapple/swift
[ClangImporter] Adopt change for preprocessor option, `DisablePCHValidation`
@swift-ci smoke test OS X platform
comment created time in 2 hours
push eventapple/swift-driver
commit sha dc6a5c4e543c9b0ed79bc568b1c23003a7b62c57
[NFC] Convert a Tuple into a Formal Type of Changed Inputs
commit sha 088f510925a9cefbba81fb2d11d03eb54f74c183
[Gardening] Document InputInfo
commit sha 657b202917a3a5c6e5310f3f74ccebf073abd326
Add an Analog to Dictionary.subscript[_:default:] to Multidictionary
commit sha 7c3af5d221ff9ccd41b4ec565def390ced9547ed
Untangle Use Lookup APIs as Explicit Sequences Performing side effects under Sequence.forEach-style APIs is generally bad practice as it makes mutating code harder to reason about due to the presence of captures. Use an explicit sequence instead.
commit sha e83d5ed11f7fb4fccb1f329ecdf3b58f7dc0b113
Break Down Result of NodeFinder Sequences Enforce the invariant that nodes have valid swiftdeps entries upon construction of the sequence and simply yield the node back to the caller.
commit sha f6a109bd81ab04c50ab01716afbe0e8f0dd415f1
[NFC] Break down a Karnaugh Map Behavior only differs here if we're asked to always compute changed inputs. Short-circuit there and simplify the `switch` to just the relevant data.
commit sha 0393abb74d1091a4438c14aea1e0a3ef82514c20
Merge pull request #443 from CodaFi/youve-changed-man
push time in 3 hours
PR merged apple/swift-driver
- Add a new type representing changed inputs
- Break down the
forEach
-style APIs into explicit sequences and clean up their call sites. - Break down the karnaugh map in
computeSpeculativeInputs
pr closed time in 3 hours
pull request commentapple/swift
[ClangImporter] Adopt change for preprocessor option, `DisablePCHValidation`
https://github.com/apple/llvm-project/pull/2370
@swift-ci smoke test
comment created time in 3 hours
Pull request review commentapple/swift-driver
[NFC] Simplify Parts of the Change Computation's Interface
extension ModuleDependencyGraph { return Set(affectedNodes.compactMap {$0.swiftDeps}) } - /*@_spi(Testing)*/ public func forEachUntracedSwiftDepsDirectlyDependent(- on externalSwiftDeps: ExternalDependency,- _ fn: (SwiftDeps) -> Void- ) {+ /*@_spi(Testing)*/ public func untracedDependents(+ of externalSwiftDeps: ExternalDependency+ ) -> [ModuleDependencyGraph.Node] { // These nodes will depend on the *interface* of the external Decl. let key = DependencyKey(interfaceFor: externalSwiftDeps) let node = Node(key: key, fingerprint: nil, swiftDeps: nil)- nodeFinder.forEachUseInOrder(of: node) { use, useSwiftDeps in- if isUntraced(use) {- fn(useSwiftDeps)- }- }+ return nodeFinder+ .orderedUses(of: node)+ .filter({ use in isUntraced(use) })
Being traced is also an unlikely predicate for a given node among that set. I would expect we wouldn’t see much benefit from pruning the search space up front with that in mind, but performance is always something one wants numbers and not opinions for.
comment created time in 4 hours
push eventapple/swift-evolution
commit sha 5b72af9135317d9522057a12895efc2176d970bc
fix typo
push time in 4 hours
push eventapple/swift-evolution
commit sha d3f19b3ed92e0bb00d9d8e7ce4764c1e11bec743
Add Acknowledgements section to proposal template (#1254)
push time in 4 hours
PR merged apple/swift-evolution
@hborla recently added this section to SE-0293, and it seemed like it would be a good thing to prompt all contributors to think about over the course of their work on a proposal.
cc @hborla @airspeedswift
pr closed time in 4 hours
Pull request review commentapple/swift-driver
[NFC] Simplify Parts of the Change Computation's Interface
extension ModuleDependencyGraph { return Set(affectedNodes.compactMap {$0.swiftDeps}) } - /*@_spi(Testing)*/ public func forEachUntracedSwiftDepsDirectlyDependent(- on externalSwiftDeps: ExternalDependency,- _ fn: (SwiftDeps) -> Void- ) {+ /*@_spi(Testing)*/ public func untracedDependents(+ of externalSwiftDeps: ExternalDependency+ ) -> [ModuleDependencyGraph.Node] { // These nodes will depend on the *interface* of the external Decl. let key = DependencyKey(interfaceFor: externalSwiftDeps) let node = Node(key: key, fingerprint: nil, swiftDeps: nil)- nodeFinder.forEachUseInOrder(of: node) { use, useSwiftDeps in- if isUntraced(use) {- fn(useSwiftDeps)- }- }+ return nodeFinder+ .orderedUses(of: node)+ .filter({ use in isUntraced(use) })
Good question. In my experience, tracing sets for medium-sized projects are on the order of 10-20 nodes.
comment created time in 5 hours
Pull request review commentapple/swift-driver
[NFC] Simplify Parts of the Change Computation's Interface
extension ModuleDependencyGraph { return Set(affectedNodes.compactMap {$0.swiftDeps}) } - /*@_spi(Testing)*/ public func forEachUntracedSwiftDepsDirectlyDependent(- on externalSwiftDeps: ExternalDependency,- _ fn: (SwiftDeps) -> Void- ) {+ /*@_spi(Testing)*/ public func untracedDependents(+ of externalSwiftDeps: ExternalDependency+ ) -> [ModuleDependencyGraph.Node] { // These nodes will depend on the *interface* of the external Decl. let key = DependencyKey(interfaceFor: externalSwiftDeps) let node = Node(key: key, fingerprint: nil, swiftDeps: nil)- nodeFinder.forEachUseInOrder(of: node) { use, useSwiftDeps in- if isUntraced(use) {- fn(useSwiftDeps)- }- }+ return nodeFinder+ .orderedUses(of: node)+ .filter({ use in isUntraced(use) })
Any significant benefit to reworking this to filter before the sort? Or does this not scale too large to really matter?
comment created time in 5 hours
push eventapple/swift
commit sha 6b6e5b84a6b9fe8ba8acbbb6f30cfddf66d3ebd1
[Testing] Add missing REQUIRES: concurrency
commit sha 997cb0f6719c3f487795f1f7487c6364e1dd44e1
Platform: add HLSL compiler to the WinSDK modulemap The DirectX subsystem may require access to the HLSL compiler for building the shaders before uploading to the GPU. This is adds to the modulemap the D3DCompiler module to get access to the compiler.
commit sha 3c9e76d5fe7dbae6f69ad7e8f7a21ac7aa682c62
Concurrency: attempt to handle Windows draining Rather than just simply invoking abort on Windows, attempt to load dispatch and execute the main loop by looking up `dispatch_main` in the module. Assuming that dispatch was used already, the `LoadLibraryW` will provide the handle to the module currently mapped in. This still is not correct, since we do not link to libdispatch, so we cannot have invoked any dispatch queuing methods. However, this is better than the previous behaviour of simply aborting. This resolves the symptom in SR-14086, but not the underlying problem.
commit sha 6adaf48e96a30e85175ee64bdc6c38e97e25833a
[stdlib] Add missing Glibc dependency for OpenBSD. Otherwise, the build may fail as the build attempts to build SwiftReflectionTest before Glibc has been built.
commit sha e08ba66ec6c3b2f3197cbccbbbf0c83518bbdd57
Merge pull request #35577 from compnerd/infinite-loop-rather-than-explode Concurrency: attempt to handle Windows draining
commit sha 682eeb4be71ccc8bbfc027f14f95e3ce766b7d3c
Merge pull request #35578 from 3405691582/ReflectionTestDependsOnGlibc [stdlib] Add missing Glibc dependency for OpenBSD.
commit sha 0f47bd3e198f6234edf8054c96af35fca34dae20
Merge pull request #35562 from rmaz/concurrency_fixes [Testing] Add missing REQUIRES: concurrency
commit sha bbe3d4fb18db701e9d32292d28a53b2a22668edf
Merge pull request #35576 from compnerd/hlsl Platform: add HLSL compiler to the WinSDK modulemap
commit sha 8e86724bca7b91fd950f4164a4c33c3f5808ebb0
Merge remote-tracking branch 'origin/main' into next
push time in 5 hours
PR opened apple/swift
Original description Otherwise, the build may fail as the build attempts to build SwiftReflectionTest before Glibc has been built.
Rationale
- Explanation: Ensures build succeeds consistently.
- Scope: Bugfix/platform support change.
- SR issue: None.
- Risk: Likely minimal: dependencies for existing platforms not modified.
- Testing: Change has already landed on main branch (see #35578); this pr is a cherry-pick of that commit.
- Reviewer: cc @kylemacomber please and thank you.
Please let me know if anything else is required.
pr created time in 6 hours
push eventapple/swift
commit sha 6b6e5b84a6b9fe8ba8acbbb6f30cfddf66d3ebd1
[Testing] Add missing REQUIRES: concurrency
commit sha 997cb0f6719c3f487795f1f7487c6364e1dd44e1
Platform: add HLSL compiler to the WinSDK modulemap The DirectX subsystem may require access to the HLSL compiler for building the shaders before uploading to the GPU. This is adds to the modulemap the D3DCompiler module to get access to the compiler.
commit sha 6adaf48e96a30e85175ee64bdc6c38e97e25833a
[stdlib] Add missing Glibc dependency for OpenBSD. Otherwise, the build may fail as the build attempts to build SwiftReflectionTest before Glibc has been built.
commit sha 682eeb4be71ccc8bbfc027f14f95e3ce766b7d3c
Merge pull request #35578 from 3405691582/ReflectionTestDependsOnGlibc [stdlib] Add missing Glibc dependency for OpenBSD.
commit sha 0f47bd3e198f6234edf8054c96af35fca34dae20
Merge pull request #35562 from rmaz/concurrency_fixes [Testing] Add missing REQUIRES: concurrency
commit sha bbe3d4fb18db701e9d32292d28a53b2a22668edf
Merge pull request #35576 from compnerd/hlsl Platform: add HLSL compiler to the WinSDK modulemap
commit sha d78c1db1a16beec9d8f8262030500570f1060f7b
Merge remote-tracking branch 'origin/main' into rebranch
push time in 6 hours
push eventapple/swift
commit sha 997cb0f6719c3f487795f1f7487c6364e1dd44e1
Platform: add HLSL compiler to the WinSDK modulemap The DirectX subsystem may require access to the HLSL compiler for building the shaders before uploading to the GPU. This is adds to the modulemap the D3DCompiler module to get access to the compiler.
commit sha bbe3d4fb18db701e9d32292d28a53b2a22668edf
Merge pull request #35576 from compnerd/hlsl Platform: add HLSL compiler to the WinSDK modulemap
push time in 6 hours
PR merged apple/swift
The DirectX subsystem may require access to the HLSL compiler for building the shaders before uploading to the GPU. This is adds to the modulemap the D3DCompiler module to get access to the compiler.
<!-- What's in this pull request? --> Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.
<!-- If this pull request resolves any bugs in the Swift bug tracker, provide a link: --> Resolves SR-NNNN.
<!-- Before merging this pull request, you must run the Swift continuous integration tests. For information about triggering CI builds via @swift-ci, see: https://github.com/apple/swift/blob/master/docs/ContinuousIntegration.md#swift-ci
Thank you for your contribution to Swift! -->
pr closed time in 6 hours
push eventapple/swift
commit sha 6b6e5b84a6b9fe8ba8acbbb6f30cfddf66d3ebd1
[Testing] Add missing REQUIRES: concurrency
commit sha 0f47bd3e198f6234edf8054c96af35fca34dae20
Merge pull request #35562 from rmaz/concurrency_fixes [Testing] Add missing REQUIRES: concurrency
push time in 6 hours
PR merged apple/swift
This change adds a requirement on the concurrency feature in 3 tests. Without this change and with SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY
set to NO
the tests will fail with errors like:
<unknown>:0: error: unexpected error produced: no such module '_Concurrency'
pr closed time in 6 hours
push eventapple/swift
commit sha 6adaf48e96a30e85175ee64bdc6c38e97e25833a
[stdlib] Add missing Glibc dependency for OpenBSD. Otherwise, the build may fail as the build attempts to build SwiftReflectionTest before Glibc has been built.
commit sha 682eeb4be71ccc8bbfc027f14f95e3ce766b7d3c
Merge pull request #35578 from 3405691582/ReflectionTestDependsOnGlibc [stdlib] Add missing Glibc dependency for OpenBSD.
push time in 6 hours
PR merged apple/swift
Otherwise, the build may fail as the build attempts to build SwiftReflectionTest before Glibc has been built.
pr closed time in 7 hours
pull request commentapple/swift
I'm working on making it right now. The idea is that
determineBestBindings
can avoid having to gather constraints and re-compute bindings all the time since that's just wasted work if constraints didn't change, instead bindings could be tracked in constraint graph as constraints are introduced and removed.
Awesome, it seems that it will give a good speed up on inference 🎉 So for this PR, should we wait on those changes to land to avoid any issues?
comment created time in 8 hours
pull request commentapple/swift
[SR-14050][Sema] Removing check on subtype validation at matchFunctionRepresentations
@swift-ci Please test source compatibility
comment created time in 8 hours
PR opened apple/swift
<!-- What's in this pull request? --> For what I could see and test seems is just fine to remove this check and just adding a bit more information. Most relations between function types are handled by conversions. I'm running the tests to make sure, but let me know if you think there are some situation where the check still be necessary.
<!-- If this pull request resolves any bugs in the Swift bug tracker, provide a link: --> Resolves SR-14050.
<!-- Before merging this pull request, you must run the Swift continuous integration tests. For information about triggering CI builds via @swift-ci, see: https://github.com/apple/swift/blob/master/docs/ContinuousIntegration.md#swift-ci
Thank you for your contribution to Swift! -->
pr created time in 8 hours
pull request commentapple/swift-evolution
[Proposal Revision] Extend property wrappers to functions and closure parameters.
Hey @hborla, Ted would like to kick off the second round of review for this proposal on Wednesday. Will that work for you, and will it be merged in by then?
comment created time in 8 hours
push eventapple/swift
commit sha 3c9e76d5fe7dbae6f69ad7e8f7a21ac7aa682c62
Concurrency: attempt to handle Windows draining Rather than just simply invoking abort on Windows, attempt to load dispatch and execute the main loop by looking up `dispatch_main` in the module. Assuming that dispatch was used already, the `LoadLibraryW` will provide the handle to the module currently mapped in. This still is not correct, since we do not link to libdispatch, so we cannot have invoked any dispatch queuing methods. However, this is better than the previous behaviour of simply aborting. This resolves the symptom in SR-14086, but not the underlying problem.
commit sha e08ba66ec6c3b2f3197cbccbbbf0c83518bbdd57
Merge pull request #35577 from compnerd/infinite-loop-rather-than-explode Concurrency: attempt to handle Windows draining
commit sha a63af72d7baa50014db237aed966ea9816b597fb
Merge remote-tracking branch 'origin/main' into rebranch
push time in 8 hours
pull request commentapple/swift-evolution
Add Acknowledgements section to proposal template
This LGTM, any concerns merging this @tkremenek or @DougGregor ?
comment created time in 8 hours