> 一方Rustの場合は新しいインターフェースを宣言して既存の構造体に対する新しいインターフェース用の実装をそれぞれ追加で書かない限りは使えない

そんなことはない
既にimpl Tにあるのだからimpl Trait for Tへ移動させるだけだぞ

> それで済めばまだいい方で既存のインターフェースに適合させなければいけない場合は既存の構造体をラップする新しい構造体とその実装を逐一全部書いた上にインターフェースに対する実装も別途追加で書かないダメ

そんなことはない
既存の構造体にそのままtraitメソッドを増やせる