#include <iostream>
#include <new>

struct M{};

void * operator new (std::size_t size, const M & ) noexcept
{
	std::cout << "call operator new" << std::endl ;
	return nullptr ;
}


int main() {
	int * p = new (M()) int() ;
}