Skip to content
New issue

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

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

Already on GitHub? # to your account

No error on argument type mismatch for optional with SOL_SAFE_NUMERICS #1552

Open
glebm opened this issue Nov 11, 2023 · 0 comments
Open

No error on argument type mismatch for optional with SOL_SAFE_NUMERICS #1552

glebm opened this issue Nov 11, 2023 · 0 comments

Comments

@glebm
Copy link

glebm commented Nov 11, 2023

I have a function like this:

void f(std::optional<uint8_t> x);

The intent is that it can be called from Lua with or without an argument.

So this works:

-- passes nullopt
f()

-- passes 1
f(1)

However, the following also works and passes nullopt!

-- passes nullopt!
f('string')

This seems like a bug. I'd prefer it to raise a Lua error instead!

My sol2 config:

#define SOL_SAFE_USERTYPE 1
#define SOL_SAFE_REFERENCES 1
#define SOL_SAFE_FUNCTION_CALLS 1
#define SOL_SAFE_FUNCTION 1
#define SOL_SAFE_NUMERICS 1
#define SOL_IN_DEBUG_DETECTED 0
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant