I have problem with SAL annotations and new operator overloading. I want to provide new operator that does not throws exceptions but return nullptr in case of error. I have written:

```
_Check_return_ _Ret_maybenull_ _Success_(return != nullptr) void* operator new(_In_ size_t size)
{
    return malloc(size);
}

```

Unfortunately VS2012 see declaration of new provided in <new> header which is different and after Build->Run Code Analysis gives me a lot of errors that declarations are incompatible. Moreover it chooses a declaration provided in <new> which indicates that new never returns null. I have tried to remove <new> include but it does not help (it is included by different headers like <vector>). How can I convince compiler to use my SAL annotations?