Skip to content

Conversation

jmagman
Copy link
Member

@jmagman jmagman commented Jun 18, 2024

Updating to Xcode 16 exposed a new compilation error: "extension declares a conformance of imported type 'DataWithEnum' to imported protocol 'Equatable'". The Swift Warning for Retroactive Conformances of External Types proposal says:

It does mean projects building with an older Swift will not have access to [the @retroactive] syntax, so as a source compatible fallback, a client can silence this warning by fully-qualifying all types in the extension. As an example, the above conformance can also be written as

extension Foundation.Date: Swift.Identifiable {
    // ...
}

This will allow projects that need to build with multiple versions of Swift, and which have valid reason to declare such conformances, to declare them without tying their project to a newer compiler build.

So change the test to fully-qualify the types. This prevented the warning when I tried it in #6942.

Fixes flutter/flutter#150391

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@jmagman jmagman force-pushed the equatable-extension branch from ab38d50 to 5289f8e Compare June 18, 2024 16:49
@@ -5,7 +5,7 @@
import Flutter
import UIKit

@UIApplicationMain
@main
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unrelated to the extension error. The Flutter tool updated this when I built the example.

@jmagman jmagman marked this pull request as ready for review June 18, 2024 17:21
Copy link
Contributor

@LouiseHsu LouiseHsu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm but should probably wait for tarrin 🙏

@@ -1,3 +1,6 @@
## NEXT
* Fully-qualifies types in Equatable extension test.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should maybe add [swift] to the beginning of this!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and a new line after the ## NEXT line.

Copy link
Member Author

@jmagman jmagman Jun 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to "[swift] Fully-qualifies types in Equatable extension test."

Copy link
Contributor

@tarrinneal tarrinneal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm with those changelog updates :)

@jmagman jmagman added the autosubmit Merge PR when tree becomes green via auto submit App label Jun 18, 2024
@auto-submit auto-submit bot merged commit cd73061 into flutter:main Jun 18, 2024
@jmagman jmagman deleted the equatable-extension branch June 18, 2024 23:39
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 19, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 19, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 20, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 20, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 20, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 21, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 21, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 21, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 24, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 24, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 24, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 25, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Jun 25, 2024
flutter/packages@711b4ac...03f5f6d

2024-06-24 [email protected] [interactive_media_ads] Fix README badge image URL (flutter/packages#6979)
2024-06-24 [email protected] [multicast_dns] Optimized Socket Binding: Always bind to 0.0.0.0 for simplicity and efficiency - #79772 (flutter/packages#6700)
2024-06-24 [email protected] [flutter_adaptive_scaffold] Allows for the animation duration to be adjusted using SlotLayout.from() (flutter/packages#6510)
2024-06-22 [email protected] [in_app_purchase_storekit] Remove OCMock (flutter/packages#6862)
2024-06-22 [email protected] [google_maps_flutter] Add iOS SDK 9.x support (flutter/packages#6902)
2024-06-21 [email protected] [google_maps_flutter] Partial Android host API Pigeon conversion (flutter/packages#6967)
2024-06-21 [email protected] Revert "Migrate `camera/android` from `SurfaceTexture`->`SurfaceProducer`." (flutter/packages#6964)
2024-06-21 [email protected] [quick_actions] Update to Pigeon 20 (flutter/packages#6961)
2024-06-20 [email protected] [google_maps_flutter] Move Android inspector to Pigeon (flutter/packages#6958)
2024-06-20 [email protected] Manual roll Flutter from ccf3abe to 6c06abb (21 revisions) (flutter/packages#6954)
2024-06-20 [email protected] [many] More v1 embedding deletion that was missed in flutter/packages#6494 (flutter/packages#6923)
2024-06-20 [email protected] [google_maps_flutter] deprecate old BitmapDescriptor methods (flutter/packages#6905)
2024-06-18 [email protected] [pigeon] Fully-qualify types in Equatable extension test (flutter/packages#6946)
2024-06-18 [email protected] [flutter_markdown] fixes null check operator used on null value if onSelectionChanged isâ�¦ (flutter/packages#6883)
2024-06-17 [email protected] Roll Flutter from 5187cab to ccf3abe (6 revisions) (flutter/packages#6940)
2024-06-17 [email protected] [google_sign_in_web] README.md typo (flutter/packages#6642)
2024-06-17 49699333+dependabot[bot]@users.noreply.github.com [camera]: Bump com.google.guava:guava from 32.0.1-android to 33.2.1-android and CameraX version to 1.3.4 in /packages/camera/camera_android_camerax/android (flutter/packages#6847)
2024-06-17 49699333+dependabot[bot]@users.noreply.github.com [sign_in]: Bump com.google.guava:guava from 32.0.1-android to 33.2.1-android in /packages/google_sign_in/google_sign_in_android/android (flutter/packages#6846)
2024-06-17 49699333+dependabot[bot]@users.noreply.github.com [quick_actions]: Bump com.android.tools.build:gradle from 7.2.1 to 8.4.1 in /packages/quick_actions/quick_actions_android/android (flutter/packages#6799)
2024-06-17 49699333+dependabot[bot]@users.noreply.github.com [path_provider]: Bump androidx.annotation:annotation from 1.7.1 to 1.8.0 in /packages/path_provider/path_provider_android/android (flutter/packages#6773)
2024-06-17 49699333+dependabot[bot]@users.noreply.github.com [camera]: Bump androidx.annotation:annotation from 1.7.1 to 1.8.0 in /packages/camera/camera_android/android (flutter/packages#6766)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App p: pigeon platform-ios
Projects
None yet
3 participants