У меня есть куча типов, которые следуют последовательному шаблону:
Foo<X> & Foo<Y>
Bar<X> & Bar<Y>
Baz<X> & Baz<Y>
(где X и Y каждый раз являются одними и теми же двумя типами.)
Есть четкий образец здесь, и я хотел бы извлечь для него общий тип c по строкам type WrapBoth<W> = W<X> & W<Y>
, чтобы преобразовать его в
WrapBoth<Foo>
WrapBoth<Bar>
WrapBoth<Baz>
Как написано, это приводит к ошибке W is not generic
(которая следует ожидать; я не указал, что это так).
Моя проблема в том, что я не вижу способа указать, что W
должен быть «любым типом, который принимает ровно один параметр типа, который я укажу при его использовании ".
Есть ли способ указать это, или он просто не поддерживается?