Just another user but I agree, it’s weird, especially because calling t.neg() does get you 255's instead.
But I’m using byte tensors as arrays of boolean values so the current behavior of ~ is exactly what I need.