What exceptions can be throw by object constructor / new expression? 
Following code fails to compile because compiler says that both functions 
foo and bar can throw.
class C {
    nothrow this () {}
}
    
nothrow void foo () {
    auto c = new C;
}
nothrow void bar () {
    auto o = new Object;
}