Создание новых типов с использованием 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
типа и сейчас работает. Я постараюсь посмотреть на это дальше и исправить это.