一般に、C<T>をインスタンス化するためにTが完全な型である必要があるかどうかは
Cの実装に依存する。(インスタンス化した文脈と処理系にも依存したかもしれない)
だから、標準ライブラリのテンプレートに不完全な型を渡すと、
標準ライブラリの実装によってコンパイルの可否が左右される。
そこで、規格は、そういう実装依存のコードを避けるため、
標準ライブラリのテンプレートに不完全な型を渡すこと自体を禁止したのではないかと。

>>643
>Tのインスタンスを作ろうとするとT::Implの定義が必要でコンパイルエラーになる
g++3.4.2では警告だけ。

>>644
コンパイルエラーにならない原因はその通りだけど、
>>642はエラーにならないこと自体を問題視してるんだと思われ。