In response to [my PR](https://github.com/nim-lang/Nim/pull/10596), 
@timotheecour described a pre-compiled debugging plugin he has built that makes 
extensive use of RTTI including `Any`. Here are some excerpts from his comments:

> I rely on typeinfo.nim for a lldb plugin I wrote that allows to use nim 
> plugins during a debugging session (and can do more stuff then nim-gdb python 
> plugin, including printing enum names, fully customizable pretty printing 
> etc).
> 
> I already implemented it and it works, and is 100% dependent on RTTI; I can 
> share more details if needed, but in short, it converts a (pointer, 
> type_name) (provided by debugger, in my case lldb but should work with gdb), 
> to a (pointer, PNimType) thanks to a mapping from type_name to PNimType; from 
> there i get a Any, and from there I can do arbitrary data navigation 
> (read/write/call) using typeinfo api

So, @Araq, what are the liabilities of RTTI that lead you to say "In the longer 
run I would like to deprecate runtime type information."? And could you unpack 
why you say `macros.getTypeImpl` and similar are the preferred solution? 

Reply via email to