Skip to content

Navigation Menu

Sign in
Sign up

Forward declare NativeModulePerfLogger in TurboModulePerfLogger.h (#58381) - #58381

Open
j-piasecki wants to merge 1 commit into
react:main from
j-piasecki:export-D116901579
Open

Forward declare NativeModulePerfLogger in TurboModulePerfLogger.h (#58381) #58381
j-piasecki wants to merge 1 commit into
react:main from
j-piasecki:export-D116901579

Conversation

@j-piasecki

@j-piasecki j-piasecki commented Sep 7, 2026
edited by meta-codesync Bot
Loading

Copy link
Copy Markdown
Contributor

Summary:

Under the C++ Stable API RFC, react/nativemodule/core:core is public while reactperflogger:reactperflogger is classified as "private". TurboModulePerfLogger.h is an exported header of the public target and includes reactperflogger/NativeModulePerfLogger.h, so it transitively exposes a private header to consumers.

NativeModulePerfLogger is only named as a std::unique_ptr<NativeModulePerfLogger>&& parameter in a declaration, so a forward declaration is sufficient and the include moves to the implementation file. <cstdint> is now included explicitly, since it was previously pulled in transitively.

This also makes the header consistent with the build config: reactperflogger is already a non-exported dep of react/nativemodule/core:core, so no BUCK change is needed.

Changelog: [Internal]

Differential Revision: D116901579

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Sep 7, 2026

meta-codesync Bot commented Sep 7, 2026

Copy link
Copy Markdown

@j-piasecki has exported this pull request. If you are a Meta employee, you can view the originating Diff in D116901579.

@meta-codesync meta-codesync Bot changed the title (削除) Forward declare NativeModulePerfLogger in TurboModulePerfLogger.h (削除ここまで) (追記) Forward declare NativeModulePerfLogger in TurboModulePerfLogger.h (#58381) (追記ここまで) Sep 7, 2026
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Sep 7, 2026
...act#58381)
Summary:
Under the C++ Stable API RFC, `react/nativemodule/core:core` is public while `reactperflogger:reactperflogger` is classified as "private". `TurboModulePerfLogger.h` is an exported header of the public target and includes `reactperflogger/NativeModulePerfLogger.h`, so it transitively exposes a private header to consumers.
`NativeModulePerfLogger` is only named as a `std::unique_ptr<NativeModulePerfLogger>&&` parameter in a declaration, so a forward declaration is sufficient and the include moves to the implementation file. `<cstdint>` is now included explicitly, since it was previously pulled in transitively.
This also makes the header consistent with the build config: `reactperflogger` is already a non-exported dep of `react/nativemodule/core:core`, so no BUCK change is needed.
Changelog: [Internal]
Differential Revision: D116901579
...act#58381)
Summary:
Under the C++ Stable API RFC, `react/nativemodule/core:core` is public while `reactperflogger:reactperflogger` is classified as "private". `TurboModulePerfLogger.h` is an exported header of the public target and includes `reactperflogger/NativeModulePerfLogger.h`, so it transitively exposes a private header to consumers.
`NativeModulePerfLogger` is only named as a `std::unique_ptr<NativeModulePerfLogger>&&` parameter in a declaration, so a forward declaration is sufficient and the include moves to the implementation file. `<cstdint>` is now included explicitly, since it was previously pulled in transitively.
This also makes the header consistent with the build config: `reactperflogger` is already a non-exported dep of `react/nativemodule/core:core`, so no BUCK change is needed.
Changelog: [Internal]
Differential Revision: D116901579
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. meta-exported p: Facebook Partner: Facebook p: Software Mansion Partner: Software Mansion Partner

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /