When including bgen.h in C++ code the compiler complains about implicit casts from void*. These implicit casts are fine in .c files, since the C compiler is building those. The alternative to making the cast explicit would be to compile all C++ translation units with -fpermissive, if they include bgen.h (but this can supress useful compiler errors).
I considered making a unit test for this (which would fail to compile if a header file added such an implicit cast in the future), but that would add a dependency on having a C++ compiler to build the library.
When including bgen.h in C++ code the compiler complains about implicit casts from void*. These implicit casts are fine in .c files, since the C compiler is building those. The alternative to making the cast explicit would be to compile all C++ translation units with -fpermissive, if they include bgen.h (but this can supress useful compiler errors).
I considered making a unit test for this (which would fail to compile if a header file added such an implicit cast in the future), but that would add a dependency on having a C++ compiler to build the library.