#include #include namespace clanguml { namespace t20009 { template struct A { void a(T arg) { } }; template struct B { void b(T arg) { a->a(arg); } std::unique_ptr> a; }; void tmain() { std::shared_ptr> bstring; auto bint = std::make_unique>(); bstring->b("b"); bint.get()->b(42); } } }