template struct UnaryReturn { typedef T Type_t; }; struct foo { template typename UnaryReturn::Type_t bar(); }; template struct UnaryReturn { typedef bool Type_t; };