iirc this is one of the corner cases that is accepted by the Visual Studio compiler but causes errors everywhere else :/