DynTmp<Foo> getFoo() {return new Foo;} DynTmp<Foo> getFoo2() { DynObj<Foo> foo(new Foo); return foo.moveToTmp(); } int main() { DynObj<const Foo> foo( getFoo() ); getFoo2(); }