Repository navigation
fix(macos): define the layout direction constants as NSUserInterfaceLayoutDirection values - #3131
Draft
Saad Najmi (Saadnajmi) wants to merge 1 commit into
Draft
Saad Najmi (Saadnajmi) wants to merge 1 commit into
Saad Najmi (Saadnajmi) wants to merge 1 commit into
Conversation
…ayoutDirection values On macOS, RCTUIKit makes UIUserInterfaceLayoutDirection an alias of NSUserInterfaceLayoutDirection, but declared the LeftToRight and RightToLeft constants in a separate, unnamed enum. Comparing a layout direction with them, as RCTTextAttributes.mm does, mixes two enumeration types, which C++20 deprecates and clang reports with -Wdeprecated-anon-enum-enum-conversion. Define the constants as the NSUserInterfaceLayoutDirection values, like the type. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 33ac4470-c1d2-43c0-92ee-8407909f0f6a
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
On macOS, RCTUIKit defines
UIUserInterfaceLayoutDirectionasNSUserInterfaceLayoutDirection, but declaresUIUserInterfaceLayoutDirectionLeftToRightandUIUserInterfaceLayoutDirectionRightToLeftin a separate anonymous enum. Comparing a layout direction with them, asRCTTextAttributes.mmdoes, mixes two enumeration types. C++20 deprecates that, and clang warns with-Wdeprecated-anon-enum-enum-conversion, which breaks builds that treat warnings as errors.This defines the two constants as the matching
NSUserInterfaceLayoutDirectionvalues, so both sides of the comparison have the same type.Test Plan:
Built the same change to
React/Base/RCTUIKit.hon 0.81 in Office for macOS arm64 and x86_64, with warnings as errors and without suppressing-Wdeprecated-anon-enum-enum-conversion:RCTTextAttributes.mmcompiles cleanly. CI coversmain.