void main() { int i; short x; x = i; } Excuse me, but - how exactly is it that this is in any way, shape or form valid code? How can I trust a language that allows those kind of shenanigans?