Тест на равенство размеров типов во время компиляции в ATS - PullRequest
0 голосов
/ 05 января 2020

Я хочу проверить, имеют ли два типа одинаковые размеры во время компиляции.

Мое текущее решение работает только для тех же типов:

    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 ...

Как проверить, имеют ли два разных типа одинаковые размеры во время компиляции?

...