#include namespace clanguml { namespace t20006 { template struct A { T a(T arg) { return arg; } T a1(T arg) { return arg; } }; template struct B { T b(T arg) { return a_.a(arg); } A a_; }; template <> struct B { std::string b(std::string arg) { return arg; } A a_; }; void tmain() { B bint; B bstring; bint.b(1); bstring.b("bstring"); } } }