Per the consensus for CWG 1396, should the following code compile?

Per [temp.inst]/12, default arguments are not instantiated unless needed and [temp.inst]/10 states "an implementation should not instantiate a.... non-virtual member function.... unless such instantiation is required."

In this example, the default constructor of A is never needed and therefore I believe CWG 1396 is saying it shouldn't be instantiated. Is this a correct interpretation?

Both Clang 9 and GCC 9.2 reject this code but MSVC 19.22 allows it. I understand the issue still has drafting status but I'm looking for clarification on whether this scenario is covered and whether I understand the issue correctly.

Brian Ehlert