Skip to content

Implement arity reabstraction for closures #64517

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

Merged
merged 8 commits into from
Mar 22, 2023

Conversation

rjmccall
Copy link
Contributor

No description provided.

This adds an assertion that we're using all of the parameters, so
pass prolog emission the number of lowered parameters to ignore.
That's easy for the callers to provide, since they do actually
still need to add function arguments for those parameters.
We might want to record the *sequence* of parameter decls associated
with a parameter pack, but currently we're not doing that.
@rjmccall
Copy link
Contributor Author

@swift-ci Please test

@rjmccall rjmccall force-pushed the arity-reabstraction-closures branch from abb62d3 to 5cf05f5 Compare March 22, 2023 02:24
@rjmccall
Copy link
Contributor Author

@swift-ci Please test

@rjmccall
Copy link
Contributor Author

@swift-ci Please smoke test macOS

@rjmccall
Copy link
Contributor Author

The test failure for macOS is clearly unrelated to my work:

/Users/ec2-user/jenkins/workspace/swift-PR-macos/branch-main/swift/test/ModuleInterface/actor_availability.swift:95:15: warning: symbols that are @_spi_available on all platforms should use @_spi instead
public struct SPIAvailableStruct {
              ^
/Users/ec2-user/jenkins/workspace/swift-PR-macos/branch-main/build/buildbot_incremental/swift-macosx-x86_64/test-iphonesimulator-x86_64/ModuleInterface/Output/actor_availability.swift.tmp/Library.swiftinterface:79:16: error: type 'SPIAvailableStruct.UnavailableNestedActor' does not conform to protocol 'Actor'
  public actor UnavailableNestedActor {
               ^
/Users/ec2-user/jenkins/workspace/swift-PR-macos/branch-main/build/buildbot_incremental/swift-macosx-x86_64/test-iphonesimulator-x86_64/ModuleInterface/Output/actor_availability.swift.tmp/Library.swiftinterface:85:62: error: unavailable property 'unownedExecutor' was used to satisfy a requirement of protocol 'Actor'
    @_semantics("defaultActor") nonisolated final public var unownedExecutor: _Concurrency.UnownedSerialExecutor {
                                                             ^
_Concurrency.Actor:3:21: note: requirement 'unownedExecutor' declared here
    nonisolated var unownedExecutor: UnownedSerialExecutor { get }
                    ^
/Users/ec2-user/jenkins/workspace/swift-PR-macos/branch-main/build/buildbot_incremental/swift-macosx-x86_64/test-iphonesimulator-x86_64/ModuleInterface/Output/actor_availability.swift.tmp/Library.swiftinterface:1:1: error: failed to verify module interface of 'Library' due to the errors above; the textual interface may be broken by project issues or a compiler bug
// swift-interface-format-version: 1.0
^

@ktoso
Copy link
Contributor

ktoso commented Mar 22, 2023

Confirmed that it was [https://github.com//pull/64515](Sema: Don't diagnose declarations more available than unavailable container #64515) which caused the issue - going to disable the test, PR on the platforms it fails.

@rjmccall
Copy link
Contributor Author

@swift-ci Please smoke test macOS

@rjmccall rjmccall merged commit 7505a8a into swiftlang:main Mar 22, 2023
@rjmccall rjmccall deleted the arity-reabstraction-closures branch March 22, 2023 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants