Ты пытаешься работать с двумя unsigned short, но они оба неявно промоутятся до signed int, потому что пошёл ты нафиг, и у тебя возникает очень много UB
Воу. Не встречался пока с такой проблемой лол. Просто вот преобразование между незнаковым и знаковым у меня clangd всегда штатно обнаруживает и подчёркивает