Стек Haskell, генерирующий дублирующую зависимость? - PullRequest
0 голосов
/ 12 июня 2018

Итак, я нахожусь в процессе обновления моего проекта на Haskell с LTS 9.21 (GHC 8.0.2) до LTS 11.12 (GHC 8.2.2), и один из моих существующих проектов больше не компилируется должным образом (OS: archlinux).В частности, тестовый двоичный файл для библиотеки не компилируется (тестируемая библиотека компилируется нормально).Тестовый двоичный файл, кажется, обнаруживает два экземпляра объявления типа данных, что заставляет меня думать, что, возможно, дублируемая библиотека тестируется?Я получаю следующее сообщение об ошибке:

• Couldn't match type ‘MyLib-0.2.1.0:MyLib.Foo.BarType’
                 with ‘BarType’
  NB: ‘BarType’
        is defined in ‘MyLib.Foo’ in package ‘MyLib-0.2.1.0’
      ‘MyLib-0.2.1.0:MybLib.Foo.BarType’
        is defined in ‘MyLib.Foo’ in package ‘MyLib-0.2.1.0’
  Expected type: IO (V.Vector BarType)
    Actual type: IO
                   (V.Vector MyLib-0.2.1.0:MyLib.Foo.BarType)

Возможно, дальнейшая поддержка моей теории дублированной зависимости заключается в том, что под каталогом .stack-work существует две копии MyLib с разными суффиксами хеша

$ ls .stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build
autogen     libHSMyLib-0.2.1.0-GDttEQSehxfEGK2MpHGnkk.a            
libHSMyLib-0.2.1.0-KMd8aF0sABi30EkTXjcRNo-ghc8.2.2.so
MyLib-tests  libHSMyLib-0.2.1.0-GDttEQSfhxfEFK2MwHGnkk-ghc8.2.2.so
MyLib       libHSMyLib-0.2.1.0-KMg8aF0jABi10EkJXjcRNo.a

Любые предложения приветствуются.

...