From just the types, yes it could be negative, but in practice it shouldn't be here. The compiler I'm developing with isn't pedantic about this particular thing, that's why these warnings slip in from my code.