iboB / iboB/dynamix

Extract `object_mixin_data` management from `object_mutation`

Open
#58 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

performance
Dominant language
C++
Stars
693
Forks
49
PR merge metrics
No merged PRs in 30d

Description

object::clear_mixin_data is noexcept, but relies on an noexcept(false) destructor. It should never throw in the given case, but still the compiler will generate calls to std::terminate there. It is possible to create a class basic_object_mutation which provides alloc/dealloc/destroy functions for mixin data. I can have a noexcept destructor and can be used by both object_mutation and clear_mixin_data.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating object::clear_mixin_data and object_mutation, then trace how object_mixin_data is allocated, destroyed, and deallocated. Evaluate the proposed basic_object_mutation abstraction and its noexcept destructor; done means both object_mutation and clear_mixin_data share the management logic without a potentially throwing destructor in the noexcept path.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.