Skip to content

[CSSimplify] Skip transitive conformance check if argument is CGFloat or Double #82541

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

Closed
wants to merge 2 commits into from

Conversation

xedin
Copy link
Contributor

@xedin xedin commented Jun 26, 2025

There is an implicit conversion between CGFloat and Double types
so if CGFloat/Double argument doesn't satisfy the requirement it's
possible that the generic parameter it's passed to be inferred as a the
other type from context and the requirement to be satisfied through this
implicit conversion.

Resolves: rdar://153461854

@xedin xedin requested a review from hborla as a code owner June 26, 2025 18:29
@xedin
Copy link
Contributor Author

xedin commented Jun 26, 2025

@swift-ci please test

There is an implicit conversion between `CGFloat` and `Double` types
so if `CGFloat` argument doesn't satisfy the requirement it's possible
that the generic parameter it's passed to be inferred as a `Double`
from context and the requirement to be satisfied through this implicit
conversion.

Resolves: rdar://153461854
@xedin
Copy link
Contributor Author

xedin commented Jun 26, 2025

@swift-ci please test

@xedin
Copy link
Contributor Author

xedin commented Jun 26, 2025

@swift-ci please test macOS platform

This is the same problem as `CGFloat` because the conversion is
bi-directional.
@xedin xedin changed the title [CSSimplify] Skip transitive conformance check if argument is CGFloat [CSSimplify] Skip transitive conformance check if argument is CGFloat or Double Jun 27, 2025
@xedin
Copy link
Contributor Author

xedin commented Jun 27, 2025

@swift-ci please test source compatibility

@xedin
Copy link
Contributor Author

xedin commented Jun 27, 2025

@swift-ci please test

@xedin
Copy link
Contributor Author

xedin commented Jun 27, 2025

@swift-ci please test Windows platform

@xedin
Copy link
Contributor Author

xedin commented Jun 27, 2025

@swift-ci please test macOS platform

@xedin
Copy link
Contributor Author

xedin commented Jun 27, 2025

@swift-ci please clean test macOS platform

@xedin
Copy link
Contributor Author

xedin commented Jun 27, 2025

@swift-ci please test macOS platform

1 similar comment
@xedin
Copy link
Contributor Author

xedin commented Jun 27, 2025

@swift-ci please test macOS platform

@xedin
Copy link
Contributor Author

xedin commented Jun 27, 2025

@swift-ci please test Windows platform

@xedin
Copy link
Contributor Author

xedin commented Jun 27, 2025

Debug source compat is failing for an unrelated reason:

14:42:37  Deleting build and source directories...
14:48:07  Cancelling nested steps due to timeout
14:48:07  Sending interrupt signal to process
14:48:14  Traceback (most recent call last):
14:48:14    File "/Users/ec2-user/jenkins/workspace/swift-PR-source-compat-suite-debug-macos/./swift-source-compat-suite/cleanup", line 95, in <module>
14:48:14      sys.exit(main())
14:48:14    File "/Users/ec2-user/jenkins/workspace/swift-PR-source-compat-suite-debug-macos/./swift-source-compat-suite/cleanup", line 80, in main
14:48:14      common.check_execute([
14:48:14    File "/Users/ec2-user/jenkins/workspace/swift-PR-source-compat-suite-debug-macos/swift-source-compat-suite/common.py", line 220, in check_execute
14:48:14  /Users/ec2-user/jenkins/workspace/swift-PR-source-compat-suite-debug-macos@tmp/durable-7a98980a/script.sh.copy: line 1: 78627 Terminated: 15          ./swift-source-compat-suite/cleanup main
14:48:14  script returned exit code 143

@xedin
Copy link
Contributor Author

xedin commented Jun 28, 2025

@swift-ci please test Windows platform

@xedin
Copy link
Contributor Author

xedin commented Jun 28, 2025

@swift-ci please test source compatibility debug

@xedin
Copy link
Contributor Author

xedin commented Jun 28, 2025

@swift-ci please test Windows platform

@xedin
Copy link
Contributor Author

xedin commented Jun 29, 2025

@swift-ci please test source compatibility debug

@xedin
Copy link
Contributor Author

xedin commented Jun 30, 2025

This has performance implications even if we reduce it only to CGFloat, I'll fix it in a different way for now.

@xedin xedin closed this Jun 30, 2025
xedin added a commit to xedin/swift that referenced this pull request Jun 30, 2025
Gracefully handle `LocatableType` types if they show up during
serialization. This is a temporary fix until we can remove
`TransitivelyConformsTo` constraint from the solver which is
the underlying cause of the issue (see swiftlang#82541).

Resolves: rdar://153461854
xedin added a commit to xedin/swift that referenced this pull request Jul 1, 2025
Gracefully handle `LocatableType` types if they show up during
serialization. This is a temporary fix until we can remove
`TransitivelyConformsTo` constraint from the solver which is
the underlying cause of the issue (see swiftlang#82541).

Resolves: rdar://153461854
(cherry picked from commit 907606e)
susmonteiro pushed a commit to susmonteiro/swift that referenced this pull request Jul 2, 2025
Gracefully handle `LocatableType` types if they show up during
serialization. This is a temporary fix until we can remove
`TransitivelyConformsTo` constraint from the solver which is
the underlying cause of the issue (see swiftlang#82541).

Resolves: rdar://153461854
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