Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tests for issue #5020: silent conversion to float #5025

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

codeinred
Copy link

@codeinred codeinred commented Feb 14, 2024

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

Enums (including enum class) are silently converted to floats during
method calls. This can cause overload resolution to fail.

I believe this behavior is a bug. This commit adds tests for that
behavior. These tests fail right now, but they should pass once the
behavior is fixed.

See: pybind#5020
@rwgk
Copy link
Collaborator

rwgk commented Feb 18, 2024

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

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.

None yet

2 participants