Doppelte Protokollimplementierungen in abhängigen Projekten

9

Ich habe Probleme mit der Konsolidierung der Protokollimplementierung in meinem Elixir-Projekt. Um genauer zu sein benutze ich Ecto und ein einfaches Projekt namens Gold (spielt wenig eine Rolle). Das Problem ist, dass beide ( Ecto und Gold ) Poison verwenden, um Decimals zu serialisieren (und das richtige Protokoll zu implementieren).

Die Implementierung für Ecto sieht ungefähr so ​​aus:

%Vor%

Während der Entwicklung gibt es eine Warnung, dass das Modul dupliziert ist:

%Vor%

Aber wenn ich zum Beispiel versuche, exrm zu verwenden, um ein Release zu erstellen, bekomme ich Fehler, die sagen, dass ich duplicate_modules

habe %Vor%

Wie soll ich damit umgehen? Der Fall hier ist, ich benutze tatsächlich meine eigene Version von Gold , so dass ich manipulieren kann, um es so schnell wie möglich zu beheben. Ich weiß, dass ich einfach Ecto zu Gold als Abhängigkeit hinzufügen kann, aber das scheint ein bisschen übertrieben zu sein, nur ein solches Protokoll zu implementieren. Gibt es nicht irgendeine Art von Makro, um zu überprüfen, ob ein Modul bereits implementiert wurde?

    
Kelu Thatsall 05.07.2016, 21:30
quelle

0 Antworten