The current code does not have a bug, but is implicitly casting -1 to 65535 and the sanitizer has no way to know whether we intend that or not.
0FUZZ=bitset src/test/fuzz/fuzz /tmp/fuz
1
2error: implicit conversion from type 'int' of value -1 (32-bit, signed)
3to type 'value_type' (aka 'unsigned short') changed the value to 65535
4(16-bit, unsigned)
5
6Base64: Qv7bX/8=
https://api.cirrus-ci.com/v1/task/5685829642747904/logs/ci.log