GHC падает, если плагин включен - PullRequest
0 голосов
/ 27 апреля 2019

Рассмотрим следующий код:

module TestPlugin where
import GhcPlugins

plugin :: Plugin
plugin = defaultPlugin {installCoreToDos = install}

install opts todos = do
  putMsgS "Hello world"
  return todos

Этот код прекрасно компилируется.Если я прошу Cabal зарегистрировать его как пакет, он работает нормально.Однако, если я пытаюсь использовать этот плагин, это происходит:

> ghc -fplugin=TestPlugin HelloWorld.hs

Access violation in generated code when reading 0xffffffffffffffff

  Attempting to reconstruct a stack trace...

   Frame        Code address
 * 0x22dae0     0x131173f C:\Program Files\Haskell Platform\8.6.3\bin\ghc.exe+0xf1173f
 * 0x22dae8     0x1
 * 0x22daf0     0x4b40022dbc8
 * 0x22daf8     0x231790

Это происходит независимо от того, какой файл исходного кода я пытаюсь скомпилировать.Если бы кто-нибудь мог сказать мне, как заставить эту бешеную ошибку уйти , это было бы замечательно.

Windows 7, 64-bit.Последнюю платформу Haskell, которую я смог найти (скачано сегодня, 64-разрядная версия), GHC 8.6.3.

Поскольку это в значительной степени дословный пример плагина из официальной документации, я не думаю мой код делает что-то не так.Это известная ошибка или что-то?

...