Files
react-native/ReactCommon/react/renderer/element
empyrical c7ec6002f1 Fabric: Use std::move on callback in Element::stateData (#29897)
Summary:
This pull request adds a call to `std::move` on the lambda capture in `Element::stateData`.

On Windows/Visual Studio 2017, this fixes a failure in the test `LayoutableShadowNodeTest.contentOriginOffset` where the error `std::bad_function_call` was being thrown. This was narrowed down to the callback being empty when called in `Element::stateData`.

https://github.com/facebook/react-native/blob/7e899348c74238a4a042380f86a8fe0d7e05511b/ReactCommon/react/renderer/element/Element.h#L98

Making sure the callback survives with `std::move` allows that test to pass under Windows.

## Changelog

Changelog: [Internal][Changed] - Fabric: Use std::move on callback in Element::stateData

Pull Request resolved: https://github.com/facebook/react-native/pull/29897

Test Plan: The Fabric test suite passes on Windows after this change is made. I also tested it under macOS and Linux built with Clang and they both pass with this change made.

Reviewed By: sammy-SC

Differential Revision: D23591969

Pulled By: shergin

fbshipit-source-id: e5c88bb0e94641e5128c4d49dd2f9dbfa49e9cfa
2020-09-10 10:45:59 -07:00
..