Can you hack this out? Hint #1
Here is another challenge, smaller, this time, which can lead you the right path. And yes, it is a screwy one.
All you have to do is make the following assertion fail.
public class Program
{
private static void Main(string[] args)
{
CanThisHappen<MyFunnyType>();
}
public static void CanThisHappen<T>() where T : class, new()
{
var instnace = new T();
Debug.Assert(instnace != null,"How did we break the CLR?");
}
}
The rules are simple, you are not allowed to do anything outside the current process. That means that profiling API, post compilation assembly rewrite, etc are forbidden. Anything else is a fair game.
I will let you know that I can make the assertion fail in 4 lines of code :-)