[pigeon] finish kotlin and swift safe cast removal#3360
[pigeon] finish kotlin and swift safe cast removal#3360auto-submit[bot] merged 13 commits intoflutter:mainfrom
Conversation
|
@stuartmorgan you were right that there was a missed null cast, I am still using the cast methods though, so the safeCast parameter is still used. |
| 'val result = if (it is Int) it.toLong() else it as Long$forceUnwrap'); | ||
| } else { | ||
| indent.writeln( | ||
| 'val result = ${_cast('it', kotlinType: returnType, safeCast: func.returnType.isNullable)}'); |
There was a problem hiding this comment.
Isn't safe casting here (vs force casting to a possibly nullable type) wrong too?
There was a problem hiding this comment.
Where is safe casting happening?
There was a problem hiding this comment.
If you mean the name safeCast I changed that too
There was a problem hiding this comment.
Where is safe casting happening?
When I reviewed it last time, _cast was still actually doing safe casting (as?) any time safeCast was true. Now it looks like it's not which is good, but there's still a parameter called safeCast which seems even more confusing. Can't we just remove the parameter entirely now? It's only used in a condition that checks for the case where it would have generated as? Any, in order to prevent it, but that's now impossible for it to generate anyway.
|
Testing label to see if it lands a "stuck" pr, not to fix tree, but to "un-stick" a good to land pr on a green tree. |
* origin/main: [image_picker] Remove MethodCall from most Android code (flutter#3438) add missing_enum_constant_in_switch (flutter#3435) [go_router_builder] Generate the enum map for enum used in iterable (flutter#3415) [pigeon] finish kotlin and swift safe cast removal (flutter#3360) [tool] Include examples when pathifying deps (flutter#3393) url change for platform interface (flutter#3323) # Conflicts: # packages/pigeon/CHANGELOG.md
[pigeon] finish kotlin and swift safe cast removal
Removes safe casting during decode process for kotlin and swift to avoid hiding potential data type inconsistencies across channels.
fixes flutter/flutter#116999
Pre-launch Checklist
dart format.)[shared_preferences]pubspec.yamlwith an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.CHANGELOG.mdto add a description of the change, following repository CHANGELOG style.///).If you need help, consider asking for advice on the #hackers-new channel on Discord.