Skip to content

[various] Enable permissive- for Windows plugin examples #8636

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

Merged

Conversation

stuartmorgan-g
Copy link
Contributor

As the Visual Studio C++ compiler moves toward increasingly standards-compliant behavior, things it allows may become errors in the future (as seen in flutter/flutter#163296 and the issues it references). To avoid a whole class of future problems, this enables /permissive- for the example apps of all of our Windows plugins that have native code, and fixes the resulting violations.

Fixes flutter/flutter#163296

Pre-launch Checklist

EncodableValue(dialog.last_result()));
return FlutterError(
"System error", "Could not create dialog",
EncodableValue(std::in_place_type<int32_t>, dialog.last_result()));
Copy link
Contributor Author

Choose a reason for hiding this comment

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

See the fixed issue link for the explanation for this.

@@ -90,18 +90,18 @@ ErrorOr<AllTypes> TestPlugin::EchoAllTypes(const AllTypes& everything) {
ErrorOr<std::optional<AllNullableTypes>> TestPlugin::EchoAllNullableTypes(
const AllNullableTypes* everything) {
if (!everything) {
return std::nullopt;
return std::optional<AllNullableTypes>(std::nullopt);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The changes in this file made me sad. I'm assuming the standard doesn't allow the two-level chaining of implicit conversions that this was relying on (foo -> optional -> ErrorOr<optional>), so this does one of them explicitly and then relies on the implicit construction of ErrorOr.

Copy link
Contributor

Choose a reason for hiding this comment

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

oof

@stuartmorgan-g stuartmorgan-g added the autosubmit Merge PR when tree becomes green via auto submit App label Feb 14, 2025
@auto-submit auto-submit bot merged commit 8542af3 into flutter:main Feb 15, 2025
82 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 17, 2025
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Feb 17, 2025
flutter/packages@625023a...8542af3

2025-02-15 [email protected] [various] Enable `permissive-` for
Windows plugin examples (flutter/packages#8636)
2025-02-15 [email protected] [pigeon] Update task queue handling
(flutter/packages#8627)
2025-02-14 [email protected] Update CODEOWNERS
(flutter/packages#8628)
2025-02-14 [email protected]
[flutter_adaptive_scaffold] Fix some memory leaks
(flutter/packages#8546)
2025-02-14 [email protected] [camera] Fix crash when
setting activeFormat on FLTCaptureDevice (flutter/packages#8630)
2025-02-13 [email protected] [camera] Remove remaining
OCMock usage in tests (flutter/packages#8624)
2025-02-13 [email protected]
[webview_flutter_wkwebview] Change callback methods with a non-null
return type to non-null (flutter/packages#8564)
2025-02-12 [email protected]
[google_sign_in_ios] Adds Swift Package Manager support
(flutter/packages#7356)
2025-02-12 [email protected] [camera_avfoundation] Migrate
tests to Swift - part 1 (flutter/packages#8603)
2025-02-12 [email protected] [video_player]
Re-enables `asset videos live stream duration != 0` test for Android
(flutter/packages#8610)
2025-02-12 [email protected]
[go_router_builder] Add support for `TypedStatefulShellBranch`'s
`preload` (flutter/packages#8587)
2025-02-12 [email protected] [local_auth_darwin] Fix test name for
clarity (flutter/packages#8499)
2025-02-11 [email protected] [ci] Manually roll master, set -Xmx4G
(flutter/packages#8586)
2025-02-11 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump the gradle-plugin group across 4 directories with 1
update (flutter/packages#8551)
2025-02-10 [email protected] [pigeon] Add
errors for ProxyAPI callback methods and null instances when reading in
a ProxyApiBaseCodec (flutter/packages#8567)
2025-02-10 [email protected]
[shared_preferences]Fix : SetState returning future
(flutter/packages#8398)
2025-02-10 [email protected] [various] Add deprecation notices to
READMEs (flutter/packages#8598)
2025-02-10 [email protected] [camera] Remove OCMock from
CameraSettingsTests, CameraMethodChannelTests and
CameraSessionPresetsTests (flutter/packages#8592)
2025-02-10 [email protected] [camera] Remove OCMock from
FLTCamPhotoCaptureTests, FLTSavePhotoDelegateTests and StreamingTests
(flutter/packages#8590)
2025-02-07 [email protected] [go_router]
Add `preload` parameter to `StatefulShellBranchData.$branch`
(flutter/packages#8545)
2025-02-07 [email protected] [video_player_avfoundation] iOS
platform view support (flutter/packages#8237)

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] 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
@stuartmorgan-g stuartmorgan-g deleted the windows-examples-strict-standards branch February 18, 2025 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[plugin:file_selector] MSVC Compilation Error with /permissive- Flag
2 participants