bearophile wrote:
Walter Bright:
The other problem with a pinned/notpinned object is the object itself
cannot control who or how someone is pointing to it.
The type system may tell apart three kinds of pointers/references: 1)
hand-managed pointers, to GC memory or C heap memory; 2) GC-managed pointers
to pinned memory; 3) GC-managed pointers to unpinned memory.
But this is a long story, I have already discussed this topic a bit, there
are problems with pointers on the stack:
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=108544
I am not yet able to design a thing so complex alone, so sorry for the noise
:-) I need to learn more and improve, first.
Microsoft's managed C++ on .net comes with multiple pointer types - managed and
unmanaged pointers - as far as I know, this was a technical success yet a
massive failure with users.
I have plenty of experience with multiple pointer types coming from my 16 bit
compiler work. I prefer to run screaming from that path.