我遇到了以下錯誤,這是非常令人驚訝的。我在Yesod應用程序(使用Yesod scaffholding)中添加了一個字段到AppSettings
,令我吃驚的是,即使我沒有做其他任何事情(我期望不得不在某處添加默認值AppSettings
, 但不是)。我得到一個運行時錯誤,而是告訴我一個字段丟失。 看起來AppSetting
的唯一構造使用RecordWildCards
擴展名,看起來像AppSettings{..}
。不定義新的字段不會產生錯誤,但會產生警告(我沒有看到它,因爲我正在使用stack test --file-watch
以連續模式運行測試)。這怎麼可能? 我試圖在一個簡單的文件中重現問題,我得到的錯誤不是警告。那麼,爲什麼我會爲Yesod收到警告?它是一個彙編標誌或什麼?在yesod應用程序運行時崩潰記錄卡崩潰
編輯
這不是特定於Yesod。我用一個簡單的文件再次進行了測試,它會生成警告而不是錯誤。
「這是彙編旗幟還是什麼?」 - 可能。這看起來像是一個「堆棧」問題,它將哪些設置傳遞給ghc? – user2407038