FoldingSetVector and removing template specializations

Hi,

r156133 (introduction of FoldingSetVector for template specializations)
broke our use case: we need to be able to revert AST nodes, i.e. we rely
on RemoveNode(). RemoveNode() is evil, so I suggest the attached patch
that allows us to cast-to-derived the FoldingSetVector, where our evil
derived implements RemoveNode() without exposing it to clang.

Would you agree to that tiny change? (If so I'll reuse that pattern for
subsequent occurrences of this problem :slight_smile:

Cheers, Axel.

clang_FoldingSetVector_protected_fields.diff (404 Bytes)