Yes, that is explicitly allowed. Alexandrescu uses this extensively in Modern C++ Design for his approach of policy based design:
template
class foo : Policy
{
public:
void do_something()
{
Policy & p = *this;
p.do_something();
}
};
So while the use cases may be limited, there are some out there.