Describe the bug
Calling a method or constructor that takes a pointer type with a desc type fails because the check for whether the overload is callable fails. This appears to be due to cpp_sanitize_string() converting the asterisks in the pointer type to underscores.
This is not done explicitly by us but by the MAKE_C_IDENTIFIER call inside the sanitize string function.
There's a couple ways to fix this:
The easiest is to just add the underscore as a valid way to declare a pointer type
Find where the pointer type is mutated and fix it. Doing so will fix this particular issue but extensive testing should be done to ensure similar mutations aren't done elsewhere
Change cpp_sanitize_string() to not use MAKE_C_IDENTIFIER, I don't personally advocate for this as it may break significant amounts of downstream code
Describe the bug Calling a method or constructor that takes a pointer type with a desc type fails because the check for whether the overload is callable fails. This appears to be due to
cpp_sanitize_string()
converting the asterisks in the pointer type to underscores. This is not done explicitly by us but by theMAKE_C_IDENTIFIER
call inside the sanitize string function.There's a couple ways to fix this:
cpp_sanitize_string()
to not useMAKE_C_IDENTIFIER
, I don't personally advocate for this as it may break significant amounts of downstream code