Known Issues
Some features of this library may not work on some broken compiler or standard library.
- If you bind an overloaded function using syntax like
static_cast<return_type(*)()>(&func)on MSVC, it may crash the compiler. The workaround is to write a standalone wrapper function with no overloading, then bind this wrapper using asbind20. You can also try the
overload_casttool.
- If you bind an overloaded function using syntax like
GCC (at least for 14.2) may not generate machine code of registered template class on a rare occasion. If you encounter a linker error like this example on Compiler Explorer , try to use explicit instantiation for your template class.
Older compilers (like GCC 12) may wrongly think some types in asbind20 are dependent types, so you need to add
templatedisambiguator as a workaround.