pybind11 icon indicating copy to clipboard operation
pybind11 copied to clipboard

Add tests for issue #5020: silent conversion to float

Open codeinred opened this issue 1 year ago • 1 comments

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

codeinred avatar Feb 14 '24 17:02 codeinred

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.)

rwgk avatar Feb 18 '24 04:02 rwgk