fix `noexcept` for VS2012