bloomberg/clang-p2996

Modules and AST serialization are broken

Opened this issue · 0 comments

As described in more depth by P2996.md, our model for implementing the library of P2996 metafunctions stores an "evaluation callback" in the CXXMetafunctionExpr AST node. This callback has a bound reference to Sema (needed for evaluation of several metafunctions), which means it cannot feasibly be serialized. This breaks modules, among other use cases (e.g., precompiled headers).