darion-yaphet opened a new pull request, #3685: URL: https://github.com/apache/brpc/pull/3685
## Summary Replace C++03 move emulation with native rvalue references and `std::move` for `scoped_ptr`, `ScopedVector`, `ScopedGeneric`, `File`, and `ScopedFILE`. Update ownership-transfer call sites, remove the legacy move header and helpers, and add regression coverage for ownership transfer, self-move, resource cleanup, and custom deleters. Document downstream migration in `docs/en/cpp14_move.md`. ## Testing - Both affected CMake targets rebuilt successfully on macOS. - All 57 targeted tests passed. ## Risk and Rollback This introduces source and binary compatibility changes: - Remove `butil/move.h`, `MOVE_ONLY_TYPE_FOR_CPP_03`, `Pass()`, and `PassAs()`. Downstream callers must migrate to native move operations. - Change exported `File` move signatures to accept `File&&`. Downstream shared-library consumers must rebuild. - `ScopedVector` move assignment now destroys the destination's previous elements and leaves the source empty, instead of swapping their contents. Discarded `Pass()` calls must become explicit cleanup operations; discarding `std::move(owner)` does not release resources. Rollback requires reverting the corresponding downstream API migrations and rebuilding affected binaries. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
