should compile in osx with just a warning