type mismatch in src/test/testnplself.cpp and src/libmaus2/lcs/AlignmentPrint.hpp
Hi German,
while trying to build the libmaus2 2.0.791, I noticed a type mismatch between the AlignmentPrint.hpp and its test code. The template of printAlignmentLines expects uint64_t as arguments 9 and 10, but the tests feeds the function with size_t; this is no big deal on 64bit platforms, since size_t is basically uint64_t there, but it produces the following build error on 32bit:
test/testnplself.cpp:94:4: required from here
./libmaus2/lcs/AlignmentPrint.hpp:385:28: error: ‘map_function’ cannot be used as a function
385 | astr << map_function(*ita++);
| ~~~~~~~~~~~~^~~~~~~~
./libmaus2/lcs/AlignmentPrint.hpp:412:28: error: ‘map_function’ cannot be used as a function
412 | bstr << map_function(*itb++);
| ~~~~~~~~~~~~^~~~~~~~
My work around, in which I replace arguments type in the test suite by uint64_t, is available on Debian Salsa. Please feel free to use it, if you feel it does the appropriate change. I'm also fine if you think there is a better approach.
This has been caught when trying to build the library to target i686 architecture. Thank you for having allowed libmaus2 to build on that platform! By the way, I believe that you can close the issue #30 (closed).
Have a nice day, :)
Étienne.