placement new, in an exported template in a module

Hi,
I'm converting an existing codebase to use C++20 modules, using Visual Studio 2019.

Let's say I have a module X, exporting a template class C whose implementation actually uses placement new (it's a custom container type).

the <new> header is included in the global module fragment for X.
however any use of C from other code importing X (from a different module Y, in a different DLL) results in the following error:

error C2661: 'operator new': no overloaded function takes 3 arguments

in order to fix it, <new> has to be included at the call site.

any idea on how to make the module "self contained" in a way that doesn't require any additional header to be included at the call site?


Thanks
Topic archived. No new replies allowed.