there are tons and tons of cool stuff that works just fine and is not technically legal. Void main works in pretty much all compilers and isnt legal, for one example.
Make an explicit result for all branches, then see what happens.
Of the mainstream compilers, void main() 'works' only with the Microsoft compiler;
both the GNU compiler and the LLVM compiler generate a compiler-time error,
even if we don't demand conformance (allow linuxisms). http://coliru.stacked-crooked.com/a/7464f25fdcefdba0