Skip to content

Modernize copy prevention in basic_otstream and TracerImpl#674

Open
lyskov-ai wants to merge 1 commit intoRosettaCommons:mainfrom
lyskov-ai:refactor/basic-otstream-copy-prevention
Open

Modernize copy prevention in basic_otstream and TracerImpl#674
lyskov-ai wants to merge 1 commit intoRosettaCommons:mainfrom
lyskov-ai:refactor/basic-otstream-copy-prevention

Conversation

@lyskov-ai
Copy link
Copy Markdown
Contributor

Summary

  • basic_otstream: replace private-undefined copy ctor with explicit = delete for both copy ctor and copy assignment in the public section. Adds a one-liner comment explaining the destructor side-effect (delete this->rdbuf() causes double-free if two objects share the same buffer).
  • TracerImpl: move the already-= deleted copy ctor from private section to public, and add the missing copy assignment = delete.

Part of the ongoing Rule-of-Zero / modern C++ idiom cleanup in basic/.

🤖 Generated with Claude Code

basic_otstream: replace private undefined copy ctor with explicit
= delete in the public section for both copy ctor and copy assignment.
Add a comment explaining why: the destructor calls delete this->rdbuf(),
so a copy sharing the same buffer would cause a double-free.

TracerImpl: move the already-deleted copy ctor from private to public
and add the missing copy assignment = delete.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant