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:
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
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?
Tags und Links elixir decimal ecto exrm elixir-poison