See_Also: http://forum.dlang.org/thread/mxpfzghydhirdtltmmvo@forum.dlang.org?page=3#post-ngtuwqiqumommfrlngjy:40forum.dlang.org
class A {} class B : A {} void f(NotNull!A a) {} NotNull!B b = assumeNotNull(new B); static assert(!__traits(compiles, { f(b); })); // TODO: I don't want this to fail.
A convenience function to check for null t.
If you pass null to t, it will throw an exception. Otherwise, return NotNull!T.