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]

Reply via email to