Я хочу проверить, имеют ли два типа одинаковые размеры во время компиляции.
Мое текущее решение работает только для тех же типов:
fun check {i, j : int | j == i} (a : size_t(i), b : size_t(j)) : void = ()
val _ = check(sizeof<int32>, sizeof<int32>) // ok
val _ = check(sizeof<int32>, sizeof<uint32>) // error! ... unsolved constraint ...
Как проверить, имеют ли два разных типа одинаковые размеры во время компиляции?