Создание новых типов с использованием Typedef на Vibe.data.json.Json, неявная ошибка преобразования

Мне нужно было иметь несколько типов Json, поэтому я использовал Typedef следующим образом:

 alias NewType = Typedef!(Json);

Я использую версию Vibe.d Json, я получаю следующее сообщение при компиляции с использованием DMD64 D Compiler v2.072.0:

Error: cannot implicitly convert expression ([cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u, cast(ubyte)0u]) of type ubyte[] to void[32]

Я прочитал документацию и не нашел никаких ограничений для использования Typedef,

1 ответ

Решение

Это ошибка в Typedef кажется, он не может псевдоним типа, который использует массив типа void, Та же проблема существует с JSONValue из std_data_json. В этом случае я изменяю эту строку: https://github.com/s-ludwig/taggedalgebraic/blob/master/source/taggedalgebraic.d#L58 на ubyte типа и сейчас работает. Я постараюсь посмотреть на это дальше и исправить это.

Ссылка на выпуск

Другие вопросы по тегам