pybind11
pybind11 copied to clipboard
Add tests for issue #5020: silent conversion to float
I've created some tests for the behavior described in #5020: enum should not be silently converted to float during method call
Description
The most relevant issue is #5020. This is behavior that was noticed during real-world testing. Libraries for numerical analysis often include large sets of functions, with enums as parameters that can control the selected algorithm or method.
In this instance, a function that took several double parameters at the end was erroneously called, instead of one taking an enum.
I've added tests for this behavior with float, where I believe it should probably be fixed for all enums, however if it would at all be possible to disable this behavior (and prevent an enum from being silently cast to a numeric value of any kind), that would be ideal.
Suggested changelog entry:
No entry is needed until this is fixed
Are you looking for help fixing this?
(I believe it is very unlikely that any of the current maintainers will pick this up. But if you or someone else steps up, I could try to help with hints.)