While researching a problem someone was having in the newsgroups this weekend, I ran into section 18.104.22.168 of the CIL spec (Partition III), which covers managed pointers. While I understand what this section talks about, some questions did come up which I'm not sure about:
- What would managed pointers pointing to unmanaged memory be useful for? Obviously, the GC can't do anything with the memory they point to, anyway.
- Regarding the managed-to-unmanaged pointer conversion safety, I'm not sure I understand what they mean what they say that the conversion is safe if one of the mentioned rules hold true.... but what do they mean by "safe"? Would such an image be deemed verifiable? I don't think so (heck, if rule 1 holds true, and the pointer points to unmanaged memory, what's safe about that?)