Понял, мне кажется очень странным это требование, я бы ожидал от шаблона, что он как раз-таки зависит от контекста в точке инстанциирования.
Смутно припоминаю, что шаблоны могут линковаться между TU, это используется для инстанциирования и экспорта шаблонов из DLL, но это довольно странное решение. Если так прописано в стандарте, то мне стало немного понятнее, спасибо.
Я уверен, что можно найти материалы дискуссий 2003 года, когда twoPhase был принят в стандарт; кажется, ниблоиды полностью закрывают основную претензию к twoPhase, так что комитет не ошибся ;)