(Addresses GH#62153)
The SBType APIs to retrieve details about template arguments,
such as GetTemplateArgumentType or GetTemplateArgumentKind
don't "desugar" LValueReferences/RValueReferences or pointers.
So when we try to format a std::deque&, the python call to
GetTemplateArgumentType fails to get a type, leading to
an element_size of 0 and a division-by-zero python exception
(which gets caught by the summary provider silently). This leads
to the contents of such std::deque& to be printed incorrectly.
This patch dereferences the reference/pointer before calling
into the above SBAPIs.
Testing
- Add API test