As far as I can tell, no objects are destroyed in the example, and it happens to compile if the expression is changed to new A;
I think that the example code not compiling is is a bug in GCC. Clang compiles it just fine.
Answer for the newly added language-lawyer tag.
The crucial standard rule is this in [class.dtor]:
A destructor is invoked implicitly
... cases that don't apply involving other storage durations than dynamic ...
... A destructor
is also invoked implicitly through use of a delete-expression (5.3.5) for a constructed object allocated by
a new-expression (5.3.4); the context of the invocation is the delete-expression. [ Note: An array of class
type contains several subobjects for each of which the destructor is invoked. — end note ] A destructor can
also be invoked explicitly. A destructor is potentially invoked if it is invoked or as specified in 5.3.4, 12.6.2,
and 15.1.
5.3.4 is [expr.new] which only specifies
... If the
new-expression creates an array of objects of class type, the destructor is potentially invoked (12.4).
which doesn't apply.
12.6.2 is [class.base.init] which only specifies
In a non-delegating constructor, the destructor for each potentially constructed subobject of class type is
potentially invoked (12.4).
Which doesn't apply
15.1 is [except.throw] which specifies how an exception object is destroyed, which doesn't apply
Conclusion: None of sections 5.3.4, 12.6.2, and 15.1. contain a rule that applies to this case, and the destructor isn't invoked, nor is there a delete-expression. Therefore the destructor isn't potentially invoked, so it is well formed for the destructor to be deleted.