Repository navigation
[quick_actions_ios] Xcode 16 beta 1: extension declares a conformance of imported type 'FlutterError' to imported protocols 'Error', 'Sendable' #150448
Description
Activity
- addedplatform-iosiOS applications specificallyiOS applications specificallyp: quick_actionsQuickActions pluginQuickActions pluginpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.team-iosOwned by iOS platform teamOwned by iOS platform team
on Jun 18, 2024 @tarrinneal do you know how this
extensioncode is generated? I'm not spotting it in pigeon
https://github.com/flutter/packages/blob/937038cd033d2c468f871a338ec893343a09ca04/packages/quick_actions/quick_actions_ios/ios/quick_actions_ios/Sources/quick_actions_ios/messages.g.swift#L17extension FlutterError: Error {}
In Xcode 16.0 beta 1 it seems to want this to be "fully qualified" :
extension FlutterError: Swift.Error {}
The implication is that generated pigeon Swift files with this pattern will generate a compilation warning.
- changed the title
[-]quick_actions_ios has error with Xcode 16 beta 1: extension declares a conformance of imported type 'FlutterError' to imported protocols 'Error', 'Sendable'; this will not behave correctly if the owners of 'Flutter' introduce this conformance in the future[/-][+]quick_actions_ios has error with Xcode 16 beta 1: extension declares a conformance of imported type 'FlutterError' to imported protocols 'Error', 'Sendable'[/+]on Jun 18, 2024 - addedp: pigeonrelated to pigeon messaging codegen toolrelated to pigeon messaging codegen tool
on Jun 18, 2024 - changed the title
[-]quick_actions_ios has error with Xcode 16 beta 1: extension declares a conformance of imported type 'FlutterError' to imported protocols 'Error', 'Sendable'[/-][+][quick_actions_ios] Xcode 16 beta 1: extension declares a conformance of imported type 'FlutterError' to imported protocols 'Error', 'Sendable'[/+]on Jun 18, 2024 That line has changed, but the current version of it is here: https://github.com/flutter/packages/blob/937038cd033d2c468f871a338ec893343a09ca04/packages/pigeon/lib/swift_generator.dart#L842
- addedteam-ecosystemOwned by Ecosystem teamOwned by Ecosystem teamand removedteam-iosOwned by iOS platform teamOwned by iOS platform team
on Jun 18, 2024 That line has changed, but the current version of it is here: https://github.com/flutter/packages/blob/937038cd033d2c468f871a338ec893343a09ca04/packages/pigeon/lib/swift_generator.dart#L842
You're saying the
extensioncode isn't generated any more by pigeon? Does that mean I should just regenerate the code for this particular plugin?It was never generated by Pigeon, it was something we recommended people do at the plugin level in Swift plugins in older versions of Pigeon. I can fix this in the plugin.
It was never generated by Pigeon, it was something we recommended people do at the plugin level in Swift plugins in older versions of Pigeon. I can fix this in the plugin.
So this wasn't "Autogenerated from Pigeon (v12.0.1), do not edit directly."? It was edited?
That extension was added manually, but we've since switched to using our own
PigeonErrorinstead. I'm not sure if that class needs the new code (probably does)you can see the old recommendations here packages/pigeon/example/README.md
(this is the pr that added the new error class)I see, thanks for the clarification. I thought this code was autogenerated so required a pigeon update.
It should have been added in the code that used it rather than the generated file. We might have thought we were going to add it to the generator at that point?
But it turns out we aren't even using
FlutterErrorin that plugin, so I'm not sure why it ended up in the PR at all 🤷🏻- added a commit that references this issue
on Jun 21, 2024 Thank you @stuartmorgan and @tarrinneal!
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.- locked as resolved and limited conversation to collaborators
on Jul 5, 2024 - added a commit that references this issue
on Jun 10, 2026 - added a commit that references this issue
on Jun 19, 2026
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
"extension declares a conformance of imported type 'FlutterError' to imported protocols 'Error', 'Sendable'; this will not behave correctly if the owners of 'Flutter' introduce this conformance in the future"
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8744774106861819249/+/u/Run_package_tests/validate_iOS_and_macOS_podspecs/stdout
https://github.com/flutter/packages/blob/937038cd033d2c468f871a338ec893343a09ca04/packages/quick_actions/quick_actions_ios/ios/quick_actions_ios/Sources/quick_actions_ios/messages.g.swift#L17
Swift Warning for Retroactive Conformances of External Types
Similar to #150391 though I'm not sure why it's a warning in this mode instead of an error.