Enough for this night, I’m pretty much certain now the /clr:safe Managed C++ is always valid XNA 360 code.

I’ve so far tried interior_ptr, arrays, virtual, hierachy, stack based object (which I was sure wouldn’t work but did). So far all code that I’ved compiled under /clr:safe has worked on the 360.

Still more tests to do (STL.CLR templates, generics, varargs stuff) and then I’ll produce a guide and an example project.

Of course /clr:safe code is fairly different from normal C++ code, so its easy to argue why bother porting code from native C++ to /clr:safe code why not just port to C#. I’m betting that I’ll be able to port to C++ /clr:safe faster than C# because things like free functions simply don’t exist in C# but I guess we shall see.

I’m tempted to try making a port of Lua to /clr:safe to see a)how hard it is and b)if possible but thats a bit further down the line.