Skip to content

Conversation

@guitargeek
Copy link
Contributor

@guitargeek guitargeek commented Aug 15, 2025

Remove the local memory policy attribute feature, because
1 ) cppyy uses by default the strict memory policy anyway
2 ) ROOT doesn't need it
3) the same result can be achieved with pythonizations
4) simplifying code is good

On the other hand, introduce a new policy to control the implicit conversion to smart pointer arguments, which we would like to not to have in ROOT. So far, I just patched it out in ROOT, but to avoid a patch, it would be better to be able to change this via static flags.

Corresponds to:

More detail in the commit description.

Goes together with this PR that updates the tests:

Steering the memory policy locally at the level of methods and functions
is redundant, because one can always define pythonizations that take
care of that.

Removing this feature allows us to add new policy flags without
increasing the net complexity of the library.

With this feature removed, one single bool flag to indicate the
heuristic memory policy is enough, because there is no need to use 4
bits to encode the combination of local and global policies anymore.
In ROOT, we need to disable this for type safety and overload resolution
reasons.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant