swiftlang / swift-corelibs-foundation

The Foundation Project, providing core utilities, internationalization, and OS independence
swift.org
Apache License 2.0
5.29k stars 1.13k forks source link

CGPoint, CGSize, CGRect Conforms Hashable #5134

Closed KYHyeon closed 2 days ago

KYHyeon commented 1 week ago

fix https://github.com/swiftlang/swift-corelibs-foundation/issues/3443

jmschonfeld commented 1 week ago

@KYHyeon thanks for providing this change! Since this is a change to public API, it should go through the Foundation evolution process described at https://github.com/swiftlang/swift-foundation/blob/main/Evolution.md before we land it. A pitch for this change would be great to update the non-Darwin APIs to be the same as the new Darwin APIs!

jmschonfeld commented 1 week ago

@swift-ci please test

KYHyeon commented 1 week ago

@jmschonfeld It might be something I didn't understand Core Graphics already supports Hashable on iOS 18+. Do I still have to go through the foundation evolution?

https://developer.apple.com/documentation/corefoundation/cgrect

jmschonfeld commented 2 days ago

Ah apologies for the confusion here - yeah this is an edge case since normally a change like this would go through evolution, however it's already shipped on Darwin (since on Darwin it ships as part of the CoreGraphics framework and not Foundation) so I spoke with @itingliu and I think in this situation it's probably fine to land this as-is to get feature parity between the platforms. Looks like Linux failed with a runtime crash but I'm not certain if it's related - let's see if a re-run sorts that out

jmschonfeld commented 2 days ago

@swift-ci please test Linux platform