On Wed May 15 17:36:27 2024 +0000, Piotr Caban wrote:
This marker is specific to templates so it doesn't really belong to `demangle_datatype` function. The patch you have proposed e.g. incorrectly demangles `??__K_l@@YA?AUCC@@I$$VI@Z`.
I see your point. Note that the other way around (pseudo "datatypes" for function in template argument list) is not correctly detected either (eg. in `"?AU?$my_iter@H$0A@Z@@"`) and goes down to demangle_datatype
so I think we should be symmetrical between functions' arg list and template arg list and hence: - move out of demangle_datatype non real data types ($$V as you did, Z for ...) - handle the end of list cases before calling demangle_datatype
something like this could do [err](/uploads/314e62b635f2bfcfce46544ac03aaef1/err)
(not ready for inclusion yet: we don't have test for generating template arg list as '<>')